<bean id="chainFilterBuff" class="com.zqws.third.shiro.framework.security.ChainFilterBuff"> <property name="filterChainDefinitions"> <value> /index = authc /home/login = anon /home/tologin = anon /home/logout = anon /demo/** = user </value> <!-- /demo/** = authc,anyRoles["e"] --> </property> </bean>
针对在配置中加authc的url如果用户没登陆会让他跳转到登陆 但是程序只是一味得抛异常 咋办 这个问题我以前就遇到到过了,shiro 跟权限相关的都是抛异常来处理的.如果要是使用注解方式.你需要定义全局异常处理. 在spring-mvc.xml中配置上这段话: <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> 登录 <prop key="org.apache.shiro.authz.UnauthenticatedException"> redirect:/login </prop> 授权 <prop key="org.apache.shiro.authz.UnauthorizedException"> redirect:/admin/common/exceptionLog </prop> </props> </property> <property name="defaultErrorView" value="error/genericView"/> </bean> 但是最好不要这样做.还是配置路径拦截靠谱. 因为spring mvc全局异常还要做错误信息记录的.所以用在这不好. |
|
来自: 忠波irlphwt1ng > 《shiro》