我正在使用 Spring 3.0 和 Spring Security 3。我能够使用 Spring Security 对数据库进行用户身份验证。使用:
SecurityContextHolder.getContext().getAuthentication().getPrincipal()
我能够检索当前登录用户的用户名。我希望添加其他详细信息,如用户 ID 和模块访问存储在 Spring Security 上下文中的主体对象,以便我以后可以检索它。如何向主体对象添加其他详细信息,然后如何在 jsp 或 java 类上检索它。如果可能,请提供适当的代码片段。
编辑:我正在使用 JDBC 访问我的数据库。
提前致谢。
原文由 ManeetK 发布,翻译遵循 CC BY-SA 4.0 许可协议
为了向经过身份验证的用户添加更多详细信息。您需要首先创建自己的 User 对象的实现,它应该扩展 spring security User 对象。之后,您可以添加要添加到经过身份验证的用户的属性。完成此操作后,您需要在
UserDetailService
中返回用户对象的实现(如果您未使用 LDAP 进行身份验证)。此链接提供了向经过身份验证的用户添加更多详细信息的详细信息——http://javahotpot.blogspot.com/2013/12/spring-security-adding-more-information.html