文档章节

shiro无权限访问时unauthorizedUrl不起作用

Zero零_度
 Zero零_度
发布于 2016/03/31 14:40
字数 185
阅读 519
收藏 0
/**
     * 读ShiroFilterFactoryBean源码可知,只有满足一下条件没有权限访问的时候才会跳转到配置的unauthorizedUrl页面
     * if (StringUtils.hasText(unauthorizedUrl) && (filter instanceof AuthorizationFilter)) {
     * 由于此处是认证过滤器,非授权过滤器,所以,访问没有权限时,页面会直接报错,很不友好,解决办法:加入spring异常处理
     * @return
     */
    @RequiresPermissions("/user/list.do")
    @RequestMapping("/list.do")
    public String userList() {
        return "user/list";
    }

异常处理配置:

package com.sniper.shiro.security.web.interceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.shiro.authz.UnauthorizedException;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;

/**
 * 异常统一处理,捕获异常,跳转到对应视图
 * @author sniper
 *
 */
public class ShiroExceptionResolver implements HandlerExceptionResolver {

    @Override
    public ModelAndView resolveException(HttpServletRequest request,
            HttpServletResponse response, Object handler, Exception ex) {
        if(ex instanceof UnauthorizedException) {
            return new ModelAndView("redirect:/refuse.jsp");  
        }
        return new ModelAndView("redirect:/exception.jsp");
    }

}

springmvc.xml

<bean id="exceptionResolver" class="com.sniper.shiro.security.web.interceptor.ShiroExceptionResolver"/>


© 著作权归作者所有

共有 人打赏支持
Zero零_度
粉丝 69
博文 1253
码字总数 256597
作品 0
程序员
私信 提问
shiro的@RequiresPermissions不生效和无权限跳异常而不是shiro指定的无权页

shiro的@RequiresPermissions不生效和无权限跳异常而不是shiro指定的无权页 lenglingx的个人页面2018-01-011 阅读 异常权限Shiro shiro和springmvc结合时需要关注的2个问题 一个是shiro的@Re...

lenglingx的个人页面
2018/01/01
0
0
Apache Shiro权限管理框架

Apache Shiro 和Web项目集成 web.xml配置 Spring.xml配置 用户权限模型 在揭开 Shiro 面纱之前,我们需要认知用户权限模型。本文所提到用户权限模型,指的是用来表达用户信息及用户权限信息的...

满小茂
2016/05/03
2.3K
3
SpringMVC+Apache Shiro+JPA(hibernate)案例教学(二)

一、Shiro配置的简要说明。 <!-- 項目自定义的Realm --> <bean id="shiroDbRealm" class="org.shiro.demo.service.realm.ShiroDbRealm" ></bean> <!-- Shiro Filter --> <bean id="shiroFil......

heroShane
2014/02/10
0
0
Apache Shiro 快速入门教程,shiro 基础教程

第一部分 什么是Apache Shiro 1、什么是 apache shiro : Apache Shiro是一个功能强大且易于使用的Java安全框架,提供了认证,授权,加密,和会话管理 如同 spring security 一样都是是一个权...

kevin728971010
2016/10/25
779
3
Spring整合Shiro

securityManager:这个属性是必须的。 loginUrl :没有登录的用户请求需要登录的页面时自动跳转到登录页面,不是必须的属性,不输入地址的话会自动寻找项目web项目的根目录下的”/login.jsp”...

_Roger_
2015/12/15
215
0

没有更多内容

加载失败,请刷新页面

加载更多

监听DOM上某一个元素是否发生变化,利用MutationObserver来监听元素变化

/** * 观察DOM是否发变化的事件 * @type {MutationObserver|*} */var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserv......

lwkai
18分钟前
1
0
遇到的问题

问题1:前两天在Nodepad++写了一个登录页面,但在Chrome中调试一直写不进Cookie。 解决办法:Chrome浏览器不支持本地静态js写Cookie。换用Edge调试即可。 内心:卧槽,浪费我这么多时间。 问...

akane_oimo
20分钟前
2
0
Oracle学习日志-6(聚合查询)

聚合函数 聚合函数可以对数据进行某种操作或者计算。比如几个常用的函数: COUNT:计算表中行数。 SUM:计算表中数据列中数据的合计值。 AVG:计算表中数据列中数据的平均值。 MAX:求出表中...

白话
22分钟前
1
0
Axure原型工具Axure RP9安装及Licensee

http://www.zhanshaoyi.com/9132.html

晚风0623
26分钟前
1
0
如何限制用户仅通过HTTPS方式访问OSS?

一、当前存在的问题 当前OSS支持用户使用HTTPS/HTTP协议访问Bucket。但由于HTTP存在安全漏洞。大型企业客户都要求使用HTTPS方式访问OSS,并且拒绝HTTP访问请求。 目前OSS可以通过RAM policy方...

阿里云官方博客
48分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部