Уверен, это не проблема безопасности. Это проблема хром-обработчика. Я не знаю, как это происходит, но мой Firefox работает правильно, и IE может обработать его в хорошем смысле.
Я проверил хром настройки и нашел следующий: настройки >>Показать дополнительные настройки ... >>Управление паролями >>Автоматический вход в флаг был повернуть на. Я удалил этот флаг. Проблема не была решена. Я изменил мой логин в application.yml. После перезапуска приложения IE, Firefox продолжения работы как принято (показать домашнюю страницу \ Логин \ выход из системы и так далее), НО Chrome спросил пароль для входа в всплывающем окне (окно было как система), если я не введите здесь login \ password - я не вижу ни одной страницы в chrome (Whitelabel Error Page), но если я включу всплывающее окно, мои учетные данные - у меня есть авторизованный сеанс. Если я нажимаю авторизацию выхода, не исчезают (после перегрузки страницы я могу видеть только данные для авторизованных пользователей).
Так что я думаю, что вопрос закрыт вообще. Но если кто-то знает, что должно быть исправлено в хроме, пожалуйста, дайте мне знать. (я очистил все файлы cookie в хромированных и кешированных данных, используя Ctrl + Shift + Del - это не помогает).
добавить больше деталей Мой пользователя для применения в последний раз был u2. Я переименовал пользователя в application.yml file to u3. Я использовал хром в последний раз с u2, но сервер ничего не знает о пользователе u2.После перезагрузки сервера я попытался загрузить домашнюю страницу с chrome -> чем у меня есть Запрос на аутентификацию всплывающее окно в хром. Журналы сервера вы можете увидеть ниже.
2016-08-02 20:30:35.866 INFO 18404 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring FrameworkServlet 'dispatcherServlet'
2016-08-02 20:30:35.867 INFO 18404 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization started
2016-08-02 20:30:35.883 INFO 18404 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization completed in 16 ms
2016-08-02 20:30:35.901 DEBUG 18404 --- [nio-8080-exec-1] o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : '/'; against '/css/**'
2016-08-02 20:30:35.901 DEBUG 18404 --- [nio-8080-exec-1] o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : '/'; against '/js/**'
2016-08-02 20:30:35.901 DEBUG 18404 --- [nio-8080-exec-1] o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : '/'; against '/images/**'
2016-08-02 20:30:35.901 DEBUG 18404 --- [nio-8080-exec-1] o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : '/'; against '/**/favicon.ico'
2016-08-02 20:30:35.901 DEBUG 18404 --- [nio-8080-exec-1] o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : '/'; against '/error'
2016-08-02 20:30:35.902 DEBUG 18404 --- [nio-8080-exec-1] o.s.security.web.FilterChainProxy :/at position 1 of 13 in additional filter chain; firing Filter: 'WebAsyncManagerIntegrationFilter'
2016-08-02 20:30:35.903 DEBUG 18404 --- [nio-8080-exec-1] o.s.security.web.FilterChainProxy :/at position 2 of 13 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter'
2016-08-02 20:30:35.903 DEBUG 18404 --- [nio-8080-exec-1] w.c.HttpSessionSecurityContextRepository : No HttpSession currently exists
2016-08-02 20:30:35.903 DEBUG 18404 --- [nio-8080-exec-1] w.c.HttpSessionSecurityContextRepository : No SecurityContext was available from the HttpSession: null. A new one will be created.
2016-08-02 20:30:35.906 DEBUG 18404 --- [nio-8080-exec-1] o.s.security.web.FilterChainProxy :/at position 3 of 13 in additional filter chain; firing Filter: 'HeaderWriterFilter'
2016-08-02 20:30:35.906 DEBUG 18404 --- [nio-8080-exec-1] o.s.s.w.header.writers.HstsHeaderWriter : Not injecting HSTS header since it did not match the requestMatcher org.springframework.se[email protected]2583a7b2
2016-08-02 20:30:35.907 DEBUG 18404 --- [nio-8080-exec-1] o.s.security.web.FilterChainProxy :/at position 4 of 13 in additional filter chain; firing Filter: 'CsrfFilter'
2016-08-02 20:30:35.925 DEBUG 18404 --- [nio-8080-exec-1] o.s.security.web.FilterChainProxy :/at position 5 of 13 in additional filter chain; firing Filter: ''
2016-08-02 20:30:35.935 DEBUG 18404 --- [nio-8080-exec-1] o.s.security.web.FilterChainProxy :/at position 6 of 13 in additional filter chain; firing Filter: 'LogoutFilter'
2016-08-02 20:30:35.935 DEBUG 18404 --- [nio-8080-exec-1] o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : '/'; against '/logout'
2016-08-02 20:30:35.935 DEBUG 18404 --- [nio-8080-exec-1] o.s.security.web.FilterChainProxy :/at position 7 of 13 in additional filter chain; firing Filter: 'BasicAuthenticationFilter'
2016-08-02 20:30:35.937 DEBUG 18404 --- [nio-8080-exec-1] o.s.s.w.a.www.BasicAuthenticationFilter : Basic Authentication Authorization header found for user 'u2'
2016-08-02 20:30:35.939 DEBUG 18404 --- [nio-8080-exec-1] o.s.s.authentication.ProviderManager : Authentication attempt using org.springframework.security.authentication.dao.DaoAuthenticationProvider
2016-08-02 20:30:35.940 DEBUG 18404 --- [nio-8080-exec-1] o.s.s.a.dao.DaoAuthenticationProvider : User 'u2' not found
2016-08-02 20:30:35.941 DEBUG 18404 --- [nio-8080-exec-1] o.s.s.w.a.www.BasicAuthenticationFilter : Authentication request for failed: org.springframework.security.authentication.BadCredentialsException: Bad credentials
2016-08-02 20:30:35.941 DEBUG 18404 --- [nio-8080-exec-1] s.w.a.DelegatingAuthenticationEntryPoint : Trying to match using RequestHeaderRequestMatcher [expectedHeaderName=X-Requested-With, expectedHeaderValue=XMLHttpRequest]
2016-08-02 20:30:35.941 DEBUG 18404 --- [nio-8080-exec-1] s.w.a.DelegatingAuthenticationEntryPoint : No match found. Using default entry point org.springframewor[email protected]32c6200d
2016-08-02 20:30:35.941 DEBUG 18404 --- [nio-8080-exec-1] w.c.HttpSessionSecurityContextRepository : SecurityContext is empty or contents are anonymous - context will not be stored in HttpSession.
2016-08-02 20:30:35.942 DEBUG 18404 --- [nio-8080-exec-1] s.s.w.c.SecurityContextPersistenceFilter : SecurityContextHolder now cleared, as request processing completed
Пожалуйста, обратите внимание, я не использовал пользователь u2 в этом запросе, но вы можете увидеть информацию о пользователе в журналах сервера:
2016-08-02 20:30:35.937 DEBUG 18404 --- [nio-8080-exec-1] o.s.s.w.a.www.BasicAuthenticationFilter : Basic Authentication Authorization header found for user 'u2'
2016-08-02 20:30:35.939 DEBUG 18404 --- [nio-8080-exec-1] o.s.s.authentication.ProviderManager : Authentication attempt using org.springframework.security.authentication.dao.DaoAuthenticationProvider
2016-08-02 20:30:35.940 DEBUG 18404 --- [nio-8080-exec-1] o.s.s.a.dao.DaoAuthenticationProvider : User 'u2' not found
кажется хром обеспечивает неожиданное поведение. И Example работает правильно без дополнительных изменений.
P.S. Решение для хрома.
Я думаю, что каждый раз, если вы используете хром, вам нужно использовать incognito режим. В режиме инкогнито у вас нет какого-либо маркер для первого запроса, режима инкогнито обеспечивает ожидаемое поведение, как это должно быть без хрома Хаки или обходных.
Возможно, это не проблема безопасности, как я думал. Это проблема хром-обработчика. Я не знаю, как это происходит, но мой firefox работает правильно, и IE может обработать его в хорошем смысле, но хром имеет утечку или взломать (кажется, так). Вопрос закрыт в целом. Но если кто-то знает, что должно быть исправлено в хроме, пожалуйста, дайте мне знать. (я очистил все файлы cookie в хромированных и кешированных данных, используя _ ** Ctrl + Shift + Del ** _ - это не помогает). – Sergii
Я обнаружил разницу: браузер Chrome содержится в каждом заголовке запроса ** Авторизация: базовый dXNlcjpwYXNzd29yZA == **. возможно, это поможет получить правильный ответ. – Sergii
1up на вопрос –