【发布时间】:2016-09-13 14:57:43
【问题描述】:
我正在使用 userDetailsManager 创建新用户和尝试从数据库获取 MyUser 对象的正确方法。这是一个例子:
User user = new User(username, passwordHash, Arrays.asList(new SimpleGrantedAuthority("ROLE_USER")));
userDetailsManager.createUser(user);
MyUser current = users.findByUsername(user.getUsername());
public MyUser findByUsername(String username) {
TypedQuery<MyUser> query = entityManager.createQuery(
"select u from User u where u.username = :username", User.class);
query.setParameter("username", username);
return query.getResultList().get(0);
}
而且它总是返回 null。
检查数据库 - 一切就绪。 为什么?
【问题讨论】:
-
您的
userDetailsManager是EntityManager的扩展名吗?如果是这样,请在创建用户后尝试调用userDetailsManager.flush();。 -
不,
userDetailsManager来自org.springframework.security.provisioning.JdbcUserDetailsManager
标签: java spring hibernate jpa spring-security