4

我一直在学习 spring 和 spring-security 并且遇到了 spring 安全上下文中标签的 auto-config="true" 属性。我被介绍给 j_spring_security_logout 作为提交到 jsp 中注销功能的 url。

在jsp中这样使用:

<a href="../j_spring_security_logout">logout buddy</a></p>
<a href="../j_spring_security_login">login</a></p>

Spring提供的这个j_spring_security_logout(魔术)究竟是什么?我听说它被称为处理程序。但我不知道那是什么意思。

先感谢您。

4

1 回答 1

10

当浏览器最初发送请求时,/j_spring_security_logout它会转到org/springframework/security/web/authentication/logout/LogoutFilter该浏览器,然后将注销任务委托给org/springframework/security/web/authentication/logout/LogoutHandler实现

org/springframework/security/web/authentication/logout/SecurityContextLogoutHandler是 的一个实现,LogoutHandler并且它有一个logout(HttpServletRequest request, HttpServletResponse response, Authentication authentication)将由 . 调用的方法LogoutFilter

主要LogoutHandler做两件事;

  1. 如果将会话配置为这样做,则使会话无效
  2. 清除SecurityContextHolder存储身份验证详细信息的位置。
于 2013-11-13T02:06:26.283 回答