资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

java管理员权限代码 java编写管理员类

如何以管理员身份运行jar程序

真正的方法是:

创新互联建站2013年至今,是专业互联网技术服务公司,拥有项目成都网站设计、做网站、成都外贸网站建设公司网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元松北做网站,已为上家服务,为松北各地企业和个人服务,联系电话:028-86922220

先用C/C++编写一个简单的CMD命令调用程序,调用的命令就是“java -jar YourJar.jar”,如果想运行效果更好,可以把启动时的CMD窗口隐藏,然后以管理员权限运行这个编译链接好的exe文件即可。核心思想就是:OS无法直接给运行Jar包Java虚拟机管理员权限,也无法通过直接右键Jar包以管理员权限运行因为Jar包不是PE文件,需要通过创建子进程间接地把管理员权限传递给Java虚拟机,从而运行的Jar包也就有了管理员权限。运行的Jar包有没有管理员权限看的是所运行的Java虚拟机有没有权限。示例代码:

//隐藏父窗口即CMD窗口看参考链接看原理

//只为了更好的运行效果

#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")

#include windows.h

int main() {

WinExec("java -jar MyExecutableJar.jar", SW_HIDE);

return 0;

}

参考链接:运行隐藏CMD窗口.

然后把编译链接好的EXE文件放到“MyExecutableJar.jar”文件所在目录(“MyExecutableJar.jar”就是你的可执行Jar包,要获得管理员权限的),然后要以管理员权限运行Jar包时就右击编译链接好的EXE文件,选择使用管理员权限运行,之后运行的Jar包就继承了父进程的管理员权限。

测试结果:

以上是我写的需要使用管理员权限才能成功运行的Jar包,try11.exe是编译好链接好的exe文件,用来接受管理员权限并传递给java命令。我的Jar程序需要使用管理员权限开启WIFI和ICS,在运行前是这样子的:

以管理员身份运行try11.exe:

运行结果成功开启了WIFI和ICS:

Jar程序也运行起来了(只为了说明不是我手动开的WIFI和ICS,是真的以管理员权限运行的Jar包):

Java实现权限管理系统(悬赏100分)

spring security可以实现。。不过spring要升级到3.0

tomcat6。7都能用,我有婉转班。。置于前台菜单用js隐藏也可以,用security判断角色都行,

如果按资源判断就要做acl。。这个很简单。。不过一般初学者要学会spring security至少要1,2个星期吧,如果楼主需要我可以把文档发给你,如果你直接要代码我也可以给你,但你看不懂。。建议还是看文档先把,你留个邮箱给我我发给你。。

java 中如何实现权限管理

struts拦截器不推荐使用 建议使用spring AOP 面向切面 统一权限操作当做一类失误处理 对于数据库权限 简单权限可以设定一张权限表 复杂权限 但权限没有从属关系可以使用2进制表示 0101010 0和1分别代表是否具有该权限操作 多级权限表结构又相应复杂

给你一个简单的管理代码

public class CheckIdAdvice implements MethodInterceptor {

protected final Log log = LogFactory.getLog(getClass());

public Object invoke(MethodInvocation invocation) throws Throwable {

String methodName = invocation.getMethod().getName();

for(int i=0;iConstant.levelOneMethod.length;i++)

{

if(Constant.levelOneMethod[i].equals(methodName))

{

Map map=(Map) ActionContext.getContext().get("session");

Admin admin=(Admin)map.get("admin");

if(admin.getQuanxian()!=nulladmin.getQuanxian()=1)

{

return invocation.proceed();

}

else

{

log.info("进入失败");

return false;

}

}

}

for(int i=0;iConstant.levelTwoMethod.length;i++)

{

if(Constant.levelTwoMethod[i].equals(methodName))

{

Map map=(Map) ActionContext.getContext().get("session");

Admin admin=(Admin)map.get("admin");

if(admin.getQuanxian()!=nulladmin.getQuanxian()=3)

{

return invocation.proceed();

}

else

{

log.info("进入失败");

return false;

}

}

}

for(int i=0;iConstant.levelThreeMethod.length;i++)

{

if(Constant.levelThreeMethod[i].equals(methodName))

{

Map map=(Map) ActionContext.getContext().get("session");

Admin admin=(Admin)map.get("admin");

if(admin!=nulladmin.getQuanxian()=5)

{

return invocation.proceed();

}

else

{

log.info("进入失败");

return false;

}

}

}

return invocation.proceed();

}

}


当前文章:java管理员权限代码 java编写管理员类
链接地址:http://cdkjz.cn/article/ddidgjd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220