Java Spring Security principal.getName()返回对象引用而不是用户名
如果我这样做:Java Spring Security principal.getName()返回对象引用而不是用户名,java,spring,spring-boot,spring-security,Java,Spring,Spring Boot,Spring Security,如果我这样做: if (principal instanceof UserDetails) { username = ((UserDetails) principal).getUsername(); } else { username = principal.toString(); } 它显然应该返回用户名,但实际上它返回我的用户类的toString()结果 if (principal instanceof UserDetails) {
if (principal instanceof UserDetails) {
username = ((UserDetails) principal).getUsername();
}
else {
username = principal.toString();
}
它显然应该返回用户名,但实际上它返回我的用户类的toString()结果
if (principal instanceof UserDetails) {
username = ((UserDetails) principal).getUsername();
} else {
username = principal.toString();
}
你从principal.getName()得到的对象是什么类型?@LyjuIEdwinson我的域用户classI我很困惑,用户类是如何成为字符串的?不是,而是从principal.getName()返回的是用户类的toString()输出。只是重写toString以返回我想要的用户名会是一种不好的做法吗?好的。那很好。如果您需要这方面的帮助,那么也许您应该向我们展示您的代码。我甚至不知道“为我的用户类返回toString()输出”是什么意思。给我们看看你的代码。否则,祝您度过愉快的一天。这正是我正在使用的,但它返回我的用户类的toString()结果。