您的位置:首页 > 编程语言 > Java开发

spring mvc怎么加入权限控制,在未登录前,任何访问url都跳转到login页面;登录成功后跳转至先前的url

2016-05-27 13:11 761 查看
1要达到的目的:在未登录前,任何访问url都跳转到login页面;登录成功后才可以获取相关资源

2过程

2.1在spring mvc的xml文件中,配置拦截器

<!--配置拦截器, 多个拦截器,顺序执行 -->  

<mvc:interceptors>    

    <mvc:interceptor>    

        <!-- 匹配的是url路径, 如果不配置或/**,将拦截所有的Controller -->  

        <mvc:mapping path="/" />  

        <mvc:mapping path="/user/**" />  

        <mvc:mapping path="/test/**" />  

        <bean class="com.alibaba.interceptor.CommonInterceptor"></bean>    

    </mvc:interceptor>  

    <!-- 当设置多个拦截器时,先按顺序调用preHandle方法,然后逆序调用每个拦截器的postHandle和afterCompletion方法 -->  

</mvc:interceptors> 

2.2拦截器类:

public class CommonInterceptor implements HandlerInterceptor  {  

  private final String ADMINSESSION = "adminsession";  

  //拦截前处理  

  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception {  

    Object sessionObj = request.getSession().getAttribute(ADMINSESSION);  

    if(sessionObj!=null) {   

      return true;  

    }   

    response.sendRedirect("login.do");  

    return false;  

  }  

  //拦截后处理  

  public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) throws Exception { }  

  //全部完成后处理  

  public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception e) throws Exception { }  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: