我对AuthenticationProvider
这种authenticate
方法有一个习惯。
@Override
public Authentication authenticate(Authentication authentication) throws AuthenticationException {
> Check username, password, throw exceptions where needed
return new CustomAuthenticationToken(username, grantedAuthorities);
}
和令牌:
public class CustomAuthenticationToken extends UsernamePasswordAuthenticationToken
{
public CustomAuthenticationToken(ICurrentUserContext currentUser, List<GrantedAuthority> authorities) {
super(currentUser.getUsername(), currentUser.getPassword(), authorities);
}
}
当我使用 Chrome、Firefox 登录时,没有任何问题。
在 IE 8/9 中,我遇到了一个非常奇怪的问题。有时它只会调用authenticate
一次该方法,它会登录并且一切都按预期工作。但时不时会调用authenticate
两次,登录失败。
有人有任何线索吗?
顺便说一句,我已经在 Tomcat 上对其进行了测试。