【发布时间】:2019-04-23 20:34:04
【问题描述】:
为了在 Spring Security 中使用自定义身份验证,您必须实现 UserDetailsService 接口并覆盖 loadUserByUsername 方法,例如下面的示例
public class UserServiceImpl implements UserDetailsService{
@Autowired
private UserDao userDao;
@Override
public UserDetails loadUserByUsername(String useremail)
throws UsernameNotFoundException {
Users user = userDao.findByUserEmail(useremail);
if(user == null){
throw new UsernameNotFoundException("UserName or Password Invalid.");
}
return new org.springframework.security.core.userdetails.User(user.getUsername(), user.getPassword(), user.getEnabled(), true, true, true, getGrantedAuthorities(userDao.getUserRole(user.getUsersId())));
}
它在整个网站上都可以正常工作。
我现在要做的是从同一主机公开一个宁静的 Web 服务,并且对该 WS 的所有请求都将通过 /api/** 使用不同类型的身份验证(例如:使用令牌)
有可能吗?如果是这样,有什么想法吗?任何有用的资源?
【问题讨论】:
标签: java spring authentication spring-security token