Я использую следующий метод для программного входа в систему после регистрации.
private void autoLogin(User user,
HttpServletRequest request)
{
GrantedAuthority[] grantedAuthorities = new GrantedAuthority[] { new GrantedAuthorityImpl(
"ROLE_ADMIN") };
UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(
user.getUsername(), user.getPassword(),grantedAuthorities);
// generate session if one doesn't exist
request.getSession();
token.setDetails(new WebAuthenticationDetails(request));
Authentication authenticatedUser = authenticationManager.authenticate(token);
SecurityContextHolder.getContext().setAuthentication(authenticatedUser);
}
пользователь аутентифицирован, но всегда имеет ROLE_ANONYMOUS, не знаю почему? Любые идеи ?
filters="none"
, фильтры не выполняются. В противном случае их казнят. 13.10.2010but other <intercept-url>s should use this syntax too
, однако я использую оба варианта access=true и filter=none и работают хорошо. Что вы имеете в виду? Означает ли это, что я не могу использовать filter=none и access=true на разных перехватчиках, если я установил ‹http use-expressions = true ...›? 12.09.2011