Spring Security: сохраненный SecurityContext получил нулевую аутентификацию ⇐ JAVA
Spring Security: сохраненный SecurityContext получил нулевую аутентификацию
Я использую Spring Security Oauth1.0a для аутентификации запросов. Ожидается, что после аутентификации пользователя он/она получит привилегии для изучения веб-сайта. Самая первая целевая страница аутентифицированного пользователя включает в себя несколько js и img. Достаточно странно, что во время загрузки этих крошечных кусочков некоторые файлы успешно загружаются с правильной аутентификацией. Но через несколько миллисекунд другие крошечные фрагменты не смогут загрузиться из-за нулевой аутентификации. Обратите внимание: у меня включены прослушиватели контекста/сеанса/атрибута сервлета. Никаких изменений обнаружено не было.
24.10'16 13:44:23> ОТЛАДКА [org.springframework.security.web.context.HttpSessionSecurityContextRepository] SecurityContext 'org.springframework.security.core.context.SecurityContextImpl@3f8eaa51: Аутентификация: org .springframework.security.authentication.UsernamePasswordAuthenticationToken@3f8eaa51: Участник: com.my.connected.spring.User@148c0257; Учетные данные: [ЗАЩИЩЕНО]; Аутентифицировано: правда; Подробности: ноль; Предоставленные полномочия: TEACHER», сохраненные в HttpSession: «org.apache.catalina.session.StandardSessionFacade@f3abb79 (CLIENT_IP=|USER_ID=|INV_ID=) (http-nio-443-exec-11) [1256269] До сих пор контекст безопасности заполнялся в сеансе, как и ожидалось. Мои настроенные слушатели уровня контекста/сеанса/атрибута не обнаружили никаких изменений после этого. Все журналы уровня отладки распечатаны ниже.
24.10'16 13:44:23> DEBUG [org.springframework.security.web.access.ExceptionTranslationFilter] Цепочка обрабатывается нормально (CLIENT_IP=|USER_ID=|INV_ID=) (http-nio-443 -exec-11) [1256269] 24.10'16 13:44:23> DEBUG [org.springframework.security.web.context.SecurityContextPersistenceFilter] SecurityContextHolder теперь очищен, поскольку обработка запроса завершена (CLIENT_IP=|USER_ID=|INV_ID=) (http-nio-443- exec-11) [1256269] 24.10'16 13:44:23> DEBUG [org.springframework.security.web.FilterChainProxy] /home.png в позиции 1 из 15 в дополнительной цепочке фильтров; Фильтр активации: 'MetadataGeneratorFilter' (CLIENT_IP=|USER_ID=|INV_ID=) (http-nio-443-exec-4) [1256274] 24.10'16 13:44:23> DEBUG [org.springframework.security.web.FilterChainProxy] /home.png в позиции 2 из 15 в дополнительной цепочке фильтров; Фильтр активации: 'WebAsyncManagerIntegrationFilter' (CLIENT_IP=|USER_ID=|INV_ID=) (http-nio-443-exec-4) [1256274] 24.10'16 13:44:23> DEBUG [org.springframework.security.web.FilterChainProxy] /home.png в позиции 3 из 15 в дополнительной цепочке фильтров; Фильтр срабатывания: 'SecurityContextPersistenceFilter' (CLIENT_IP=|USER_ID=|INV_ID=) (http-nio-443-exec-4) [1256274] 24.10'16 13:46:37> ОТЛАДКА [org.springframework.security.web.context.HttpSessionSecurityContextRepository] Получен действительный SecurityContext из SPRING_SECURITY_CONTEXT: 'org.springframework.security.core.context.SecurityContextImpl@ffffffff: нулевая аутентификация' (CLIENT_IP=|USER_ID=|INV_ID=) (http-nio-443-exec-4) [1391041] Однако и отладка, и журнал показывают новую нулевую аутентификацию для атрибута сеанса SPRING_SECURITY_CONTEXT. Сам контекст не является нулевым.
Подробнее о кодировании:
//метод контроллера @RequestMapping(value = {"/ssoep.lti.do"}, метод = {RequestMethod.GET, RequestMethod.POST}) public void ltiEndpoint (запрос HttpServletRequest, ответ HttpServletResponse) выдает ServletException, IOException, SSOValidationException { request.getRequestDispatcher("/").forward(запрос, ответ); } //класс конфигурации @EnableWebSecurity @Конфигурация общественный класс SecurityConfig расширяет WebSecurityConfigurerAdapter { protected void configureOAuth(HttpSecurity http) выдает исключение { http .csrf() .запрещать(); http .addFilterAfter(oauthFilter(), BasicAuthenticationFilter.class) .authorizeRequests() .antMatchers("/ssoep.lti.do*").authenticated(); } @Бин public ProtectedResourceProcessingFilter oauthFilter() { Результат ProtectedResourceProcessingFilter = новый MheOauthProcessingFilter(); result.setAuthHandler(mheUserOauthAuthenticationHandler); result.setConsumerDetailsService(mheOauthConsumerDetailsService); вернуть результат; } } Я использую следующие версии pom.
4.3.2.RELEASE 1.4.0.RELEASE 4.1.1.ВЫПУСК 2.0.11.RELEASE 1.0.2.RELEASE
Я использую Spring Security Oauth1.0a для аутентификации запросов. Ожидается, что после аутентификации пользователя он/она получит привилегии для изучения веб-сайта. Самая первая целевая страница аутентифицированного пользователя включает в себя несколько js и img. Достаточно странно, что во время загрузки этих крошечных кусочков некоторые файлы успешно загружаются с правильной аутентификацией. Но через несколько миллисекунд другие крошечные фрагменты не смогут загрузиться из-за нулевой аутентификации. Обратите внимание: у меня включены прослушиватели контекста/сеанса/атрибута сервлета. Никаких изменений обнаружено не было.
24.10'16 13:44:23> ОТЛАДКА [org.springframework.security.web.context.HttpSessionSecurityContextRepository] SecurityContext 'org.springframework.security.core.context.SecurityContextImpl@3f8eaa51: Аутентификация: org .springframework.security.authentication.UsernamePasswordAuthenticationToken@3f8eaa51: Участник: com.my.connected.spring.User@148c0257; Учетные данные: [ЗАЩИЩЕНО]; Аутентифицировано: правда; Подробности: ноль; Предоставленные полномочия: TEACHER», сохраненные в HttpSession: «org.apache.catalina.session.StandardSessionFacade@f3abb79 (CLIENT_IP=|USER_ID=|INV_ID=) (http-nio-443-exec-11) [1256269] До сих пор контекст безопасности заполнялся в сеансе, как и ожидалось. Мои настроенные слушатели уровня контекста/сеанса/атрибута не обнаружили никаких изменений после этого. Все журналы уровня отладки распечатаны ниже.
24.10'16 13:44:23> DEBUG [org.springframework.security.web.access.ExceptionTranslationFilter] Цепочка обрабатывается нормально (CLIENT_IP=|USER_ID=|INV_ID=) (http-nio-443 -exec-11) [1256269] 24.10'16 13:44:23> DEBUG [org.springframework.security.web.context.SecurityContextPersistenceFilter] SecurityContextHolder теперь очищен, поскольку обработка запроса завершена (CLIENT_IP=|USER_ID=|INV_ID=) (http-nio-443- exec-11) [1256269] 24.10'16 13:44:23> DEBUG [org.springframework.security.web.FilterChainProxy] /home.png в позиции 1 из 15 в дополнительной цепочке фильтров; Фильтр активации: 'MetadataGeneratorFilter' (CLIENT_IP=|USER_ID=|INV_ID=) (http-nio-443-exec-4) [1256274] 24.10'16 13:44:23> DEBUG [org.springframework.security.web.FilterChainProxy] /home.png в позиции 2 из 15 в дополнительной цепочке фильтров; Фильтр активации: 'WebAsyncManagerIntegrationFilter' (CLIENT_IP=|USER_ID=|INV_ID=) (http-nio-443-exec-4) [1256274] 24.10'16 13:44:23> DEBUG [org.springframework.security.web.FilterChainProxy] /home.png в позиции 3 из 15 в дополнительной цепочке фильтров; Фильтр срабатывания: 'SecurityContextPersistenceFilter' (CLIENT_IP=|USER_ID=|INV_ID=) (http-nio-443-exec-4) [1256274] 24.10'16 13:46:37> ОТЛАДКА [org.springframework.security.web.context.HttpSessionSecurityContextRepository] Получен действительный SecurityContext из SPRING_SECURITY_CONTEXT: 'org.springframework.security.core.context.SecurityContextImpl@ffffffff: нулевая аутентификация' (CLIENT_IP=|USER_ID=|INV_ID=) (http-nio-443-exec-4) [1391041] Однако и отладка, и журнал показывают новую нулевую аутентификацию для атрибута сеанса SPRING_SECURITY_CONTEXT. Сам контекст не является нулевым.
Подробнее о кодировании:
//метод контроллера @RequestMapping(value = {"/ssoep.lti.do"}, метод = {RequestMethod.GET, RequestMethod.POST}) public void ltiEndpoint (запрос HttpServletRequest, ответ HttpServletResponse) выдает ServletException, IOException, SSOValidationException { request.getRequestDispatcher("/").forward(запрос, ответ); } //класс конфигурации @EnableWebSecurity @Конфигурация общественный класс SecurityConfig расширяет WebSecurityConfigurerAdapter { protected void configureOAuth(HttpSecurity http) выдает исключение { http .csrf() .запрещать(); http .addFilterAfter(oauthFilter(), BasicAuthenticationFilter.class) .authorizeRequests() .antMatchers("/ssoep.lti.do*").authenticated(); } @Бин public ProtectedResourceProcessingFilter oauthFilter() { Результат ProtectedResourceProcessingFilter = новый MheOauthProcessingFilter(); result.setAuthHandler(mheUserOauthAuthenticationHandler); result.setConsumerDetailsService(mheOauthConsumerDetailsService); вернуть результат; } } Я использую следующие версии pom.
4.3.2.RELEASE 1.4.0.RELEASE 4.1.1.ВЫПУСК 2.0.11.RELEASE 1.0.2.RELEASE
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Spring Security: Сохраняемый SecurityContext получил нулевую аутентификацию
Anonymous » » в форуме JAVA - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Spring Security: Сохраняемый SecurityContext получил нулевую аутентификацию
Anonymous » » в форуме JAVA - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Spring SecurityContext недоступен при использовании параллельного потока
Anonymous » » в форуме JAVA - 0 Ответы
- 24 Просмотры
-
Последнее сообщение Anonymous
-