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()结果。