您的位置:首页 > 编程语言 > Java开发

shiro+springmvc+mybatis(2)

2015-11-17 09:06 309 查看
继上一篇。

发现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>


如果大家知道 是缺少哪个配置 导致异常抛出的,请告诉我,谢谢大家。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shiro spring mvc