为什么 principal returns as type Object in spring security?

Why does principal returns as type Object in spring security?

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

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

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

我已阅读以下主题:

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

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

主体是您必须使用以识别用户的对象。一旦确定,您就可以使该用户的会话过期。 Here 您会在 Spring 中找到关于什么是 Principal 的很好的解释。

你可以将主体投射到合适的Class,但你必须事先知道。 principal 的 Class 可以是 org.springframework.security.core.userdetails.User 或者其他什么,这取决于你如何使用 SpringSecurity.

了解什么是正确的 Class 的快速方法是调试您提供的 link 中评论的解决方案。