При доступе к текущему пользователю в контроллере пружины getAuthentication () возвращает ноль - PullRequest
3 голосов
/ 18 октября 2011

Я попытался реализовать решения, представленные в этом вопросе.

Однако никто из них не работает на меня. В моем абстрактном базовом контроллере у меня есть следующий метод (я также пробовал в классе помощника со статическими методами, но та же проблема):

public User getUser() {
  User user = 
    (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal();       
}

getAuthentication () возвращает ноль , хотя в моем jsps следующее прекрасно работает:

<sec:authentication property="principal.firstname" /> 

В этом мой пользовательский объект пользователя доступен.

Почему getAuthentication возвращает ноль?

Кроме того, я попытался передать Принципал в качестве параметра для моего конкретного метода контроллера, это также означает, что null тоже разрешается в null ...

Почему мой основной ноль, но все же работает jsp?

1 Ответ

3 голосов
/ 18 октября 2011

Убедитесь, что у вас нет filters = "none" в <intercept-url> для URL вашего контроллера, он отключает фильтры Spring Security, поэтому контекст безопасности не заполняется.

Если вам нужно сделать свой контроллер доступным для всех, используйте другие подходы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...