shiro+springmvc+mybatis(2)
2015-11-17 09:06
309 查看
继上一篇。
发现shiro,也不是很好用,相对来说是比自己定义的好一点吧。
shiro用注解注入对方法,action进行权限控制时,当用户没有这个权限,后台会报错。这个暂时还没看到相关文章讲过这个。
即便配置异常拦截,也只是将页面跳转到权限不足页面而已,不能阻止异常被抛出。
而发现配置filterChainDefinitions的时候,
如果使用 role perms 都是必须通过和并级关系,这样无法做到,admin的权限最大。
所以查找了一下。
发现注解有个或级关系的属性,
当role 是user 或 admin 的时候 拥有此方法的权限。
备注:权限注解在 controller上无效,只能对controller的方法进行控制
页面上还可以使用 shiro 标签进行权限控制
如果大家知道 是缺少哪个配置 导致异常抛出的,请告诉我,谢谢大家。
发现shiro,也不是很好用,相对来说是比自己定义的好一点吧。
shiro用注解注入对方法,action进行权限控制时,当用户没有这个权限,后台会报错。这个暂时还没看到相关文章讲过这个。
即便配置异常拦截,也只是将页面跳转到权限不足页面而已,不能阻止异常被抛出。
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> <prop key="org.apache.shiro.authz.UnauthorizedException">error/noperms</prop> </props> </property> </bean>
而发现配置filterChainDefinitions的时候,
如果使用 role perms 都是必须通过和并级关系,这样无法做到,admin的权限最大。
所以查找了一下。
发现注解有个或级关系的属性,
@RequiresRoles(value={"user1","admin"},logical=Logical.OR)
当role 是user 或 admin 的时候 拥有此方法的权限。
备注:权限注解在 controller上无效,只能对controller的方法进行控制
页面上还可以使用 shiro 标签进行权限控制
<shiro:hasRole name="admin"> <a href="javascript:void(0)">AdminManage</a> </shiro:hasRole>
如果大家知道 是缺少哪个配置 导致异常抛出的,请告诉我,谢谢大家。
相关文章推荐
- Apache Shiro 使用手册(一) Shiro架构介绍
- Apache Shiro 使用手册(二) Shiro 认证
- Apache Shiro 使用手册(五) Shiro 配置说明
- Apache Shiro 使用手册(四) Realm 实现
- 让Apache Shiro保护你的应用
- 基于Spring框架的Shiro配置方法
- 使用Shiro实现登录成功后跳转到之前的页面
- Spring+mybatis+shiro+freemarker+ehcache+ldap+mongo
- 第四章 INI配置
- 第五章 编码/加密
- 第六章 Realm及相关对象
- Shiro预览
- JFinal-Beetl-Shiro(JdbcRealm)-例子
- springrain技术详解
- Spring整合Dwr,Cannot locate BeanDefinitionParser for element [annotation-scan]
- S2SH整合Shiro之:SessionContext must be an HTTP compatible implementation
- S2SH整合Shiro之:java.lang.NoSuchMethodException: com.sun.proxy.$Proxy25
- spring3 MVC手工搭建Spring3项目demo
- 让Apache Shiro保护你的应用
- spring mvc 开发需要的jar包的用途详解