我有一个功能,为用户进行身份验证。然而,我有一个 userActive
作为我希望包含在身份验证中的字段。因此,请查看用户的帐户是否已启用。 userActive
是一个 Boolean
我怎么能做到呢?
override fun loadUserByUsername(username: String?): UserDetails {
var user: User = userRepository.findByEmail(username!!)
if (user == null) {
throw UsernameNotFoundException("Invalid username or password.")
}
return org.springframework.security.core.userdetails.User(
user.getEmail(), user.getPassword(), mapRolesToAuthorities(
user.getRoles()!!
)
)
}
1条答案
按热度按时间k4ymrczo1#
还有另一个构造函数
org.springframework.security.core.userdetails.User
提供:第三个参数,
enabled
似乎符合你的要求userActive
领域请记住,禁用的用户会返回
false
对于isEnabled()
验证后进行检查。这将导致将错误委托给您的配置AuthenticationEntryPoint
,将显示为身份验证失败。