Аутентифицировать пользователя вручную - PullRequest
2 голосов
/ 18 марта 2010

Я пытаюсь аутентифицировать пользователя после получения учетных данных, используя oAuth (с Twitter, если это имеет значение). Насколько я мог понять, я могу напрямую поместить объект аутентификации в SecurityContextHolder. Вот как я это делаю:

Authentication auth = new TwitterOAuthAuthentication(member,
userDetailsService.loadUserByUsername(member.getUsername()).getAuthorities());
SecurityContextHolder.getContext().setAuthentication(auth);

Это по какой-то причине абсолютно ничего не делает. Чего мне не хватает и что мне делать, чтобы выполнить то, что нужно?

1 Ответ

3 голосов
/ 17 февраля 2011

Попробуйте добавить

auth.setAuthenticated(true);

перед установкой Аутентификации в контексте.

У меня нормально работает следующий код (внутри класса фильтра):

final Authentication auth = new CustomAuthenticationToken(user);
auth.setAuthenticated(true);
SecurityContextHolder.getContext().setAuthentication(auth);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...