Я настроил Весенний боб следующим образом вернуть SecurityContext:Spring Security: возвращает Authentication обнулить
<bean id="securityContext" class="org.springframework.security.context.SecurityContextHolder"
factory-method="getContext">
</bean>
Когда я использую этот компонент объект Authentication возвращает нуль.
Authentication authentication = securityContext.getAuthentication();
GrantedAuthority[] authorities = authentication.getAuthorities();
Вторая строка выше вызывает NPE. Что кажется странным для меня, так как следующий код возвращает власть, как ожидалось:
GrantedAuthority[] authorities =
SecurityContextHolder.getContext().getAuthentication().getAuthorities();
В основном я пытаюсь устранить статический вызов SecurityContextHolder.getContext(), чтобы сделать мой код более проверяемым.
Любые мысли о том, как исправить это? Почему SecurityContext, возвращенный Spring, не может вернуть полномочия, в то время как статический вызов из моего собственного кода может?
FYI Я выполняю код из действия Struts 2.
Я согласен с этим, не сражайтесь с каркасом. – JamesC
Это хорошее описание проблемы, но не решение. – msangel