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 代码代码,如此循环往复!

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

login.do不是文件

login.do不是文件,是一种url访问的方式,跟.jsp .asp .php .aspx .html .htm 不一样,login.do之后,服务器所返回的页面有可能是.jsp .html等等。 ...
  • u012110719
  • u012110719
  • 2014年12月04日 16:23
  • 896

Springmvc拦截器实现网站非登录不能访问。

public class AuthorizedInterceptor implements HandlerInterceptor{     private static final String[]...
  • tomorrow_fine
  • tomorrow_fine
  • 2017年03月24日 19:06
  • 221

封装高可复用的服务端响应对象和登录demo

封装高可复用的服务端响应对象和登录demo在平时的编码过程中,返回给前端的数据都会统一规范起来,用一个泛型来作为响应对象ServerResponse:@JsonSerialize(include = ...
  • CSDN_GIA
  • CSDN_GIA
  • 2017年11月19日 19:22
  • 112

Web应用——驾培管理系统之登录功能(作者:小圣)

Web应用——驾培管理系统之登录功能(作者:小圣) 本节博文将向大家介绍本次驾培管理系统的登录功能。从创建一个对应数据表的bean开始,到界面填入参数,后台判断,传值,并且实现页面渲染,通过登录这一...
  • xie_xiansheng
  • xie_xiansheng
  • 2016年04月10日 21:45
  • 2386

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

1要达到的目的:在未登录前,任何访问url都跳转到login页面;登录成功后才可以获取相关资源...
  • Ideality_hunter
  • Ideality_hunter
  • 2016年05月27日 13:11
  • 6898

Spring Security教程(10)---- 自定义登录成功后的处理程序及修改默认验证地址

form-login配置中的authentication-success-handler-ref可以让手动注入登录成功后的处理程序,需要实现AuthenticationSuccessHandler接口...
  • pingyan158
  • pingyan158
  • 2015年10月30日 16:57
  • 2239

网站接入

QQ登录网站接入功能实现--非官方文档搬运 时间:2015-11-24 14:54:46 阅读:500 评论:0 收藏:0 [点我收藏+] 标签: 背景 最...
  • sdx1237
  • sdx1237
  • 2016年04月22日 21:35
  • 1278

Spring Security学习二 - 自定义Login方法

自定义Spring Security的Login方法。
  • lee353086
  • lee353086
  • 2016年09月19日 16:41
  • 4335

Shiro入门(1)

Shiro在web开发中的基础使用方式
  • zhengwei223
  • zhengwei223
  • 2013年08月14日 16:27
  • 16888

实例详解SpringMVC配置与使用

MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller).通过分层使开发...
  • u010796790
  • u010796790
  • 2016年07月24日 14:32
  • 1449
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spring mvc定义登录拦截器(不登录不让访问相关资源),为什么要放权/login.do(就是不拦截/login.do)?
举报原因:
原因补充:

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