博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Springmvc拦截器实现网站非登录不能访问。
阅读量:4229 次
发布时间:2019-05-26

本文共 1386 字,大约阅读时间需要 4 分钟。

public class AuthorizedInterceptor implements HandlerInterceptor{
    private static final String[] IGNORE_URI={"/loginForm","/login","/404.html"};
    @Override
    public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
            throws Exception {
        // TODO Auto-generated method stub
        //在整个请求完成后执行,主要用于清理资源
    }
    //在Controller的方法调用之后执行
    @Override
    public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
            throws Exception {
        // TODO Auto-generated method stub
        
    }
    //在Controller方法调用之前执行,当返回值为false的时候整个请求就结束了
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        // TODO Auto-generated method stub
        boolean flag=false;
        String servletPath=request.getServletPath();
        for(String s:IGNORE_URI){
            if(servletPath.contains(s)){
                flag=true;
                break;
            }
        }
        if(!flag){
            User user=(User)request.getSession().getAttribute(HrmConstants.USER_SESSION);
            if(user==null){
                request.setAttribute("message","请先登录再访问网站!");
                request.getRequestDispatcher(HrmConstants.LOGIN).forward(request, response);
                return flag;
            }else{
                flag=true;
            }
        }
        return flag;
    }
}

Springmvc配置文件中配置拦截器

    <mvc:interceptors>

        <mvc:interceptor>
            <!-- 拦截所有请求 -->
            <mvc:mapping path="/*"/>
            <!-- 自定义判断用户权限的拦截类 -->  
             <bean class="org.fkit.hrm.interceptor.AuthorizedInterceptor"/>
        </mvc:interceptor>
    </mvc:interceptors>

转载地址:http://rpjqi.baihongyu.com/

你可能感兴趣的文章
CUDA 学习(十一)、共享内存
查看>>
游戏感:虚拟感觉的游戏设计师指南——第十四章 生化尖兵
查看>>
游戏感:虚拟感觉的游戏设计师指南——第十五章 超级马里奥64
查看>>
游戏感:虚拟感觉的游戏设计师指南——第十七章 游戏感的原理
查看>>
游戏感:虚拟感觉的游戏设计师指南——第十八章 我想做的游戏
查看>>
游戏设计的艺术:一本透镜的书——第十章 某些元素是游戏机制
查看>>
游戏设计的艺术:一本透镜的书——第十一章 游戏机制必须平衡
查看>>
UVM:7.5.1 期望值与镜像值
查看>>
UVM:7.5.2 常用操作及其对期望值和镜像值的影响
查看>>
UVM:7.6.1 检查后门访问中hdl 路径的sequence
查看>>
UVM:7.6.2 检查默认值的sequence
查看>>
UVM:7.7.1 使用reg_predictor
查看>>
UVM:7.7.2 使用UVM_PREDICT_DIRECT功能与mirror 操作
查看>>
UVM:7.7.3 寄存器模型的随机化与update
查看>>
UVM:7.7.4 扩展位宽
查看>>
UVM:7.8.1 get_root_blocks
查看>>
UVM:7.8.2 get_reg_by_offset 函数
查看>>
UVM:8.2.2 重载的方式及种类
查看>>
UVM:8.2.3 复杂的重载
查看>>
UVM:8.3.1 重载transaction
查看>>