gpt4 book ai didi

java - Spring安全用户信息

转载 作者:行者123 更新时间:2023-12-02 05:30:08 25 4
gpt4 key购买 nike

我有一个关于 Spring Security 的快速问题,并获取当前登录的用户的进一步信息(实例变量)。默认情况下,无需编写自己的 UserDetailsS​​ervice 有没有办法获取我的 User bean 中定义的任何其他实例变量?您可能知道,通过将以下代码放入我的 Controller 之一,我可以访问以下字段,例如:用户名、密码、启用、权限等。

UserDetails userDetails = 
(UserDetails) ((Authentication)principal).getPrincipal();

我想获取其他信息,例如我在用户对象中定义的以下实例变量(ID、NAME、EMAIL、ETC):

 // Instance Variables
private int id;
private String name;
private String email;
private String username; // I can already obtain this
private String password; // I can already obtain this

您能否提供一些进一步的帮助,以便我获得更多信息?

最佳答案

正如您所知,您可以使用以下代码获取 UserDetails 对象。

UserDetails userDetails = (UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();

使用UserDetails对象,您可以获得用户名、密码和权限。现在您需要该用户的 ID 和电子邮件。在这种情况下,一旦您的用户通过身份验证,您就可以进行数据库查询,该查询将按用户名返回您的用户对象。

关于java - Spring安全用户信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25635434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com