在Spring中如何从“”打印用户名和姓氏
如何从打印用户名和姓
此principal.username
仅打印用户ID。 但我想在这里打印用户名和数据库的名字。 可能吗?
我想你在谈论Spring Security。
这是我使用的解决方案:
创建一个将映射您的用户的类。 它必须实现org.springframework.security.core.userdetails.UserDetails接口:
public class MyUserDetails implements UserDetails { private String username; private String password; private String firstname; private String lastname; public String getFirstname() { return firstname; } public String getLastname() { return lastname; } // Etc. }
创建org.springframework.security.core.userdetails.UserDetailsService的实现 ,它将从数据库加载用户:
@Component public class MyUserDetailsService implements UserDetailsService { @Autowired private MyUserDAO userDAO; @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { final MyUserDetails user = userDAO.getUserByUsername(username); if(user == null) { throw new UsernameNotFoundException("No user found for username '" + username +"'."); } return user; } }
现在,您必须告诉Spring Security使用您的服务加载用户的详细信息:
现在,您应该能够使用
和
来显示当前用户的名字和姓氏。