spring mvc定义登录拦截器(不登录不让访问相关资源),为什么要放权/login.do(就是不拦截/login.do)?

原创 2016年05月30日 21:28:29

spring.xml拦截器配置如下:

<mvc:interceptor>

<mvc:mapping path="/**" />
<mvc:exclude-mapping path="/login.do" />
<bean class="org.bjlx.base.login.AuthInterceptor"></bean>

</mvc:interceptor>

拦截器类配置如下:

public class AuthInterceptor implements HandlerInterceptor  {  
  
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception {  
    Object sessionObj = request.getSession().getAttribute("USERDETAIL");  
    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 { }  
}  


如果对login.do进行放权的话,输入任何一个地址如:http://127.0.0.1:8080/test,就会一直在AuthInterceptor中挑不出来。

因为如果不放权/login.do,执行过程是这样的:

1输入http://127.0.0.1:8080/test

2被拦截器拦截,执行AuthInterceptor 代码,response.sendRedirect("login.do");  即执行http://127.0.0.1:8080/login.do,而login.do又被拦截器拦截,再次执行AuthInterceptor 代码代码,如此循环往复!

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

spring mvc拦截器之拦截未登录

spring mvc拦截器 1.在web.xml中配置DispatcherServlet 配置好DispatcherServlet之后,DispatcherServlet会接受所有请求,包括静态资...

login.do不是文件

login.do不是文件,是一种url访问的方式,跟.jsp .asp .php .aspx .html .htm 不一样,login.do之后,服务器所返回的页面有可能是.jsp .html等等。 ...

Spring学习之SpringMVC框架快速搭建实现用户登录功能

引用自:http://blog.csdn.net/qqhjqs/article/details/41683099?utm_source=tuicool&utm_medium=referral  的博客...

Spring mvc interceptor配置拦截器

xml代码: http://www.springframework.org/schema/beans"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-in...

SpringMVC拦截器(资源和权限管理)

1.DispatcherServlet     SpringMVC具有统一的入口DispatcherServlet,所有的请求都通过DispatcherServlet。     Dispatche...

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

1要达到的目的:在未登录前,任何访问url都跳转到login页面;登录成功后才可以获取相关资源...

实例详解SpringMVC配置与使用

MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller).通过分层使开发...

如何让Spring MVC DispatchServlet拦截所有的.do请求,比如/system/*.do!

如何让Spring MVC DispatchServlet拦截所有的.do请求,比如/system/*.do!  分享| 2011-09-22 09:27wangxu198709 | 浏览 ...

Spring MVC 下设置默认访问页面的3种方式

1.默认tomcat容器的默认页面。 /index.html 这种方式适合访问静态的页面(也包括JSP)或者说是没有任何参数的页面。2.spirng mvc 默认index con...

spring mvc 实现网站登录与非登录的控制

在我们的网站平台上,主要有两类页面,一类是非登录也能查看的页面,另一类是登录后才能查看的页面 通过使用 spring拦截器来实现,当用户没有登录时访问需要登录的页面时自动实现跳转至登录页 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spring mvc定义登录拦截器(不登录不让访问相关资源),为什么要放权/login.do(就是不拦截/login.do)?
举报原因:
原因补充:

(最多只允许输入30个字)