成都网站建设设计

将想法与焦点和您一起共享

权限控制代码java java权限管理shiro

Java项目怎么控制权限啊?

用过滤器实现 ..需要进行web.xml的手工配置,

成都创新互联公司主要从事成都网站制作、成都网站建设、外贸营销网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务平城,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

步骤一般是建一个过滤器,在doFilter这个方法里写验证session 中用户的权限,如果不符,则不能进入你所配置访问的文件夹内所有的JSP页面了..它便会自动重定向到你的指定页,比如登入页等

还有就是配置XML文件了.有多个权限可以配置多个文件夹

下面是配置的代码..

filter

filter-nameAdminFilter/filter-name

filter-classgroup1.filter.AdminFilter/filter-class

/filter

filter-mapping

filter-nameAdminFilter/filter-name

url-pattern/affiche/*/url-pattern

/filter-mapping

java怎么实现权限控制

提供一个思路哈:

1、user类中定义两个方法,分别根据权限名和权限路径判断用户是否有对应权限

2、定义一个拦截器,拦截所有请求,根据路径判断是否有操作权限

3、页面调用user的权限判断方法,决定是否显示相应的权限

java如何做权限管理

首先介绍下思路:

1、用户表 user;

2、角色表 role;

3、菜单 menu;

4、角色菜单权限表 role_menu;

5、用户菜单权限表 user_menu;

如图:

根据用户角色取出该角色所有权限,并对用户进行权限分配;注意菜单的按钮(新增、删除、修改)权限是放在中间表(user_menu)中的;

1、新增用户时,是要根据用户角色进行分配权限的 一定记得批量添加;批量、批量、批量,重要的事情说三遍,不要查询角色权限,然后for循环,这样效率太低了;

SQL如下:

INSERT INTO sys_user_menu(UserId, MenuId, DelPower,    UpdPower,    InsPower,    ViewPower)

SELECT #{userId} UserId, MenuId, 1 DelPower, 1 UpdPower, 1 InsPower, 1 ViewPower FROM sys_role_menu WHERE RoelId = #{roleId}

updPower 默认都是有的 所以都是1,这样根据角色查询出权限直接添加,响应时间大大提升;

2、修改用户角色也要记得重新分配用户权限哦!这个不能忘,可以用上面的方法;

业务方法:

如果角色没有修改,是不用重新分配权限的,所有userRole 重置为 null,如果角色修改则删除原权限,重新进行分配;

3、最后要优化的就是根据用户查询权限的时候啦,我最开始是这样做的,查询角色权限,用户权限,返回到前端,前端进行处理;结果就是很卡 基本上要三到四秒,

解决方案,一步到位;一个查询返回全部数据。

如下SQL:

SELECT menu.MenuId id, ParentId pid, MenuName text,

(SELECT COUNT(1) FROM sys_user_menu WHERE UserId = #{userId} AND  MenuId = sm.MenuId) isShow,

(SELECT CONCAT(

(CASE WHEN smenu.InsPower = 1 THEN 1 ELSE 0 END), ',',

(CASE WHEN smenu.DelPower = 1 THEN 1 ELSE 0 END), ',',

(CASE WHEN smenu.UpdPower = 1 THEN 1 ELSE 0 END), ',',

(CASE WHEN smenu.ViewPower = 1 THEN 1 ELSE 0 END))

FROM sys_user_menu smenu WHERE smenu.UserId = #{userId}

AND  smenu.MenuId = sm.MenuId) MenuInfo

FROM sys_role_menu sm INNER JOIN sys_menu menu on sm.MenuId = menu.MenuId

WHERE RoelId = #{roleId}

首先根据 角色ID查询出权限,然后子查询用户是否有该权限,有返回1 木用返回 0;

最后按钮权限 我是直接拼接成字符串,分别对应 添加、删除、修改、查看 1 有该按钮 0 没有该按钮;

优化后 不管是添加、修改用户,加载用户权限都能控制在 1~2 秒;

修改文件权限的JAVA代码是怎样的

importjava.io.IOException;/××只能给当前用户赋予对该文件的权限,调用createNewFile()方法默认的权限是644.×/publicclassFilePermission{publicstaticvoidmain(String[]args){try{Filefile=newFile("/home/test3.txt");if(


标题名称:权限控制代码java java权限管理shiro
文章起源:http://chengdu.cdxwcx.cn/article/ddipecj.html