当前位置: 首页 > 面试题库 >

如何使用Spring Security手动注销用户?

羊禄
2023-03-14
问题内容

答案可能很简单:如何在Spring Security中手动注销当前登录的用户:

SecurityContextHolder.getContext().getAuthentication().setAuthenticated(false); 


问题答案:

在Servlet 3.0容器中,Spring注销功能与Servlet集成在一起,你只需logout()在上调用HttpServletRequest。仍然需要编写有效的响应内容。

根据文档(Spring 3.2):

HttpServletRequest.logout()方法可用于注销当前用户。

通常,这意味着将清除SecurityContextHolder,使HttpSession无效,将清除所有“记住我”身份验证,依此类推。



 类似资料:
  • 我正在学习springsecurity(基于java的配置),我无法使注销正常工作。当我点击注销时,我看到URL更改为http://localhost:8080/logout并获取“HTTP 404-/logout”。登录功能工作正常(即使使用自定义登录表单),但问题是注销,我怀疑重定向的url“localhost:8080/logout”应该类似于“localhost:8808/springte

  • 我尝试这个为fb注销,给我错误。 NoSuchElement异常:消息:无法定位元素:{"方法":"xpath","selector":"/html/body/div[25]/div/div/div/div[1]/div/div/ul/li[3]/a/span/span"}

  • 我使用这个示例https://dzone.com/articles/spring-boot-security-json-web-tokenjwt-hello-world创建带有json web令牌(JWT)的spring boot rest api。但是我没有找到任何使用io.jsonWebToken maven依赖项强制注销的api。 我正在pom中使用此依赖项: 任何一个可以告诉我这个依赖,提

  • 我目前正在使用2个项目。1个前端(使用laravel后端与API通信)和另一个laravel项目(API)。 现在,我使用LaravelPassport对用户进行身份验证,并确保每个API调用都是经过授权的调用。 现在,当我想注销我的用户时,我会向我的API发送一个post请求(使用承载令牌),并尝试将他注销API(并清除会话、cookies等) 然后在客户端上,我也刷新我的会话,这样令牌就不再是

  • 我有一个实现了Spring Security性的Spring Boot应用程序。用户日志和注销成功工作,我正在使用jdbc来会话存储。现在,我只想实现一个新的restendpoint,它接受特定用户的用户名作为参数,并注销该用户。目前,我使用follwing类作为注销植入。 可以从表中手动删除表项,并注销用户。但是我想通过遵循Spring Security的适当流程来注销。 谢谢

  • 问题内容: 我已经尝试过搜索,但是找不到我的问题的答案。 我正在从github玩这个应用程序:https : //github.com/Yalantis/Koloda/tree/master/Example 我之所以使用它,是因为我正在做一个项目,该项目将使用此应用程序中基于图块的滑动。 我也在使用Firebase。到目前为止,我可以将用户添加到数据库中,因此应用程序和firebase已连接。 我