A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【郑州校区】Apache Shiro 权限控制
第一种:URL 级别粗粒度权限控制
配置 web.xml 的 shiroFilter 拦截 /*
在 spring 的 applicationContext*.xml 配置文件中配置同名 bean,配置
filterChainDefinitions 拦截控制规则  
xxx.html* = anon (未登录可以访问)  xxx.html* =authc (必须登录才能访问 )  xxx.html* = perms[权限] (需要特定权限才能访问)  xxx.html* = roles[角色] (需要特定角色才能访问 )

第二种: 方法级别细粒度权限控制  
在 spring 的 applicationContext*.xml 配置 spring aop 对 spring 管理 bean 对象开启 shiro 注解支持  
@RequiresPermissions(权限)  需要特定权限才能访问  
         @RequiresRoles(角色)  需要特定角色才能访问  
         @RequiresAuthentication 需要认证才能访问  

第三种:通过 shiro 自定义标签,实现页面元素显示控制  
         <shiro:authenticated> 登录后才能访问  
         <shiro:hasPermission name="abc"> 需要特定权限才能访问
         <shiro:hasRole name="abc"> 需要特定角色才能访问

第四种:在程序中通过代码 判断用户是否具有指定权限( 不太常用 ,有代码侵入 )

补充: 权限表达式 “:”代表子权限   
权限 courier  包含 courier:add、courier:list、courier:* ,如果用户具有父权限,操作
所有子权限功能  
权限 courier:list 包含 courier:list:10  
传智播客·黑马程序员郑州校区地址
河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层
联系电话 0371-56061160/61/62
来校路线  地铁一号线梧桐街站A口出

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马