shiro unauthorizedUrl页面不跳转问题
来源:互联网 发布:淘宝客服真的好忙好累 编辑:程序博客网 时间:2024/05/24 00:35
最近使用shiro框架控制用户权限,用户权限认证未通过时,无法跳转到unauthorizedUrl对应的页面,直接抛出了异常
解决方法:
1、mvc
<!-- 定义需要特殊处理的异常,用类名或完全路径名作为key,异常页名作为值 -->
<property name="exceptionMappings">
<props>
<prop key="org.apache.shiro.authz.UnauthorizedException">none_authority</prop>
</props>
</property>
2、web.xml
- <error-page>
- <error-code>500</error-code>
- <location>/error.jsp</location>
- </error-page>
原因:
shiro的源代码ShiroFilterFactoryBean.java
- private void applyUnauthorizedUrlIfNecessary(Filter filter) {
- String unauthorizedUrl = getUnauthorizedUrl();
- if (StringUtils.hasText(unauthorizedUrl) && (filter instanceof AuthorizationFilter)) {
- AuthorizationFilter authzFilter = (AuthorizationFilter) filter;
- //only apply the unauthorizedUrl if they haven't explicitly configured one already:
- String existingUnauthorizedUrl = authzFilter.getUnauthorizedUrl();
- if (existingUnauthorizedUrl == null) {
- authzFilter.setUnauthorizedUrl(unauthorizedUrl);
- }
- }
- }
定义的filter必须满足filter instanceof AuthorizationFilter,只有perms,roles,ssl,rest,port才是属于AuthorizationFilter,而anon,authcBasic,auchc,user是AuthenticationFilter,所以unauthorizedUrl设置后页面不跳转
- shiro unauthorizedUrl页面不跳转问题
- shiro unauthorizedUrl页面不跳转问题
- shiro 无法跳转到unauthorizedUrl
- shiro不跳转successUrl的问题
- Shiro整合SSH开发3:配置Shiro认证后页面地址跳转问题(和详述不配置需要注意的问题)
- shiro登陆成功不跳转successUrl的问题
- IOS 页面跳转问题:点击按钮页面不跳转
- SpringMVC + Shiro 访问未授权页面时不跳转,页面打印抛异常
- Shiro中Session过期页面跳转回登录页面处理问题
- IE7页面不跳转
- shiro登录成功后指定跳转页面
- 解决django中超链接页面不跳转的问题
- CGI表单提交实现页面不跳转问题
- jquery mobile页面跳转后js不执行的问题
- ASP.NET JS页面跳转中文乱码不识别问题
- 用<a>标签点击跳转页面不刷新的问题
- 关于jQuery Mobile页面跳转后网页不刷新问题
- thinkphp 页面跳转不显示问题 data-ajax="false"
- DatagramSocket编程
- Java 语言使用 Observer/Observable 实现简单的观察者模式
- KSImageNamed-Xcode
- Java基础之随机打乱一个顺序数组
- Spring quartz
- shiro unauthorizedUrl页面不跳转问题
- VVDocumenter - Xcod代码注释工具
- 国外性能测试博客
- 一个用于张量符号计算的Mathematica工具箱package
- 字典树(讲解+模版)
- 第13周项目3--二进制转换
- IOS6 _内置字体库下载,轻松实现字体主体变换
- Java 并发:基本的线程机制
- DOM结构简介