修改登录方式为数据库+ldap之后,执行job发送邮件phantom一直需要登录
BruceMiao305 opened this issue · 0 comments
Please follow the below instructions to create a new system bug, otherwise, we can't help you effectively.(请严格遵循下列格式创建系统Bug主题,否则我们可能很难有效帮助到你)
-
What steps will reproduce the problem?(该问题的重现步骤是什么?)
我认证实现代码:
public Authentication authenticate(Authentication authentication) throws AuthenticationException {
String username = authentication.getName();
String password = (String) authentication.getCredentials();
UserDetails userDetails = userDetailsService.loadUserByUsername(username);
/**
* 通过Ldap方式进行验证
*/
if(userDetails == null){
throw new BadCredentialsException("用户名未找到");
}
if(userDetails.getUsername().equals("admin")){
if (authentication instanceof ShareAuthenticationToken) {
return authentication;
} else {
return authenticationProvider.authenticate(authentication);
}
}
else {
if (!ldapService.validUser(username, password)) {
throw new BadCredentialsException("Ldap密码不正确");
}
Collection<? extends GrantedAuthority> authorities = userDetails.getAuthorities();
return new UsernamePasswordAuthenticationToken(userDetails, password, authorities);
}
执行邮件任务,需要登录
[INFO][11:33:26][PersistService.lambda$persist$0():69] elapsedTime:2001, [120000]
[INFO][11:33:28][PersistService.lambda$persist$0():69] elapsedTime:4001, [120000]
[INFO][11:33:30][PersistService.lambda$persist$0():69] elapsedTime:6001, [120000] -
What is the expected output? What do you see instead?(你期待的结果是什么?实际看到的又是什么?)
-
What version of the product are you using? On what operating system?(你正在使用产品的哪个版本?在什么操作系统上?)
windows开发环境,0.4.2 -
Please provide any additional information below.(如果有的话,请在下面提供更多信息。)