【问题标题】:Why does principal returns as type Object in spring security?为什么在 Spring Security 中主体返回为 Object 类型?
【发布时间】:2015-12-04 02:58:07
【问题描述】:

我在网站上添加了阻止用户功能。

我将isBlocked 添加到我的UserModel。当我用户尝试登录时 - 此字段会检查。

已登录用户的问题仍然存在。我想在管理员阻止用户时强制注销它。

我已阅读以下主题:

How do you log out all logged in users in spring-security?

但我不知道如何检查与用户相关的主体(实际上是java.lang.Object)。

【问题讨论】:

标签: java spring spring-mvc spring-security logout


【解决方案1】:

主体是您为了识别用户而必须使用的对象。一旦确定,您可以使该用户的会话过期。 Here 你会找到一个很好的解释,说明 Spring 中的 Principal 是什么。

您可以将主体转换为适当的类,但您必须事先知道。主体的 Class 可以是 org.springframework.security.core.userdetails.User 或其他,这取决于您如何使用 SpringSecurity。

了解什么是正确类的快速方法是调试您提供的链接中注释的解决方案。

【讨论】:

  • 好的,没有 classCastException 对我有用,但使用显式类转换对我来说很奇怪
猜你喜欢
  • 2020-06-15
  • 2016-09-26
  • 2011-07-13
  • 2019-04-04
  • 2021-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-22
相关资源
最近更新 更多