我使用了shiro注释,例如:@RequiresPermissions(“module:books:list”)。它在允许的页面上工作正常。但是如果我尝试访问不允许的页面,它会给出AuthorizationException。如果引起AuthorizationException,有人能告诉我如何重定向到未经授权的页面吗?
错误500:内部服务器错误 URI / BookForAsia /作者/创建 类 org.apache.shiro.authz.AuthorizationException 信息 无权调用方法:public java.lang.Object org.ng.bookforasia.AuthorsController.create()
答案 0 :(得分:0)
据我所知,有两种方法可以实现这一目标。 1.在你的shiro-Context.xml中定义authorizedUrl,如下所示
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<property name="securityManager" ref="securityManager" />
<property name="loginUrl" value="/views/login.html" />
<property name="successUrl" value="/views/main.html" />
<property name="unauthorizedUrl" value="/views/unauthorized.html" />
</bean>
2.在web.xml中定义错误页面
<error-page>
<exception-type>org.apache.shiro.authz.UnauthorizedException</exception-type>
<location>/views/unauthorized.html</location>
</error-page>