У меня проблемы с двойной аутентификацией. Я внедрил форму аутентификации через всплывающее окно, которое всегда находится сверху. Но у меня есть проблема, вероятно, с перехватчиками, которые вызывают запрос на проверку подлинности с помощью Tomcat еще до начала применения:Двойная аутентификация в приложении GWT/EXT + Spring Security
Имя пользователя и пароль запрашивается по http://127.0.0.1:8888. На сайте говорится: «Spring Security Application»
Если отключить перехватчики, я вижу в журнале, что SecurityContextHolder обрабатывает пользователя как Anonymous.
Так что мой вопрос: Могу ли я как-то отключить этот первый экран входа Tomcat?
Моя конфигурация XML Spring-безопасности:
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.0.xsd">
<authentication-manager alias="authenticationManager">
<authentication-provider ref="customAuthenticationProvider"/>
</authentication-manager>
<beans:bean id="customAuthenticationProvider" class="com.myCompany.model.security.CustomAuthenticationProvider" >
<beans:property name="databaseId" value="${configuration.databaseId}" />
<beans:property name="applicationId" value="${configuration.applicationId}" />
</beans:bean>
<http auto-config="true" >
<intercept-url pattern="/myApp/**" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/MyApp.html*" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/gwt/**" access="ROLE_USER"/>
<intercept-url pattern="/**/*.html" access="ROLE_USER"/>
<intercept-url pattern="/css/**" filters="none"/>
<intercept-url pattern="/**" access="ROLE_USER" />
<http-basic />
</http>
<global-method-security secured-annotations="enabled" />
</beans:beans>
Ваша проблема в том, что Spring Security основана на перенаправлении. Я когда-то пытался сразиться с ним, но мне нужно было зайти слишком глубоко в внутренние подразделения SS, поэтому я отказался от этой идеи. Использование SS для фильтрации каналов, на мой взгляд, слишком много накладных расходов, в этом случае достаточно простого HttpFilter. –
@lechlukasz: Я не совсем уверен, что вы ожидаете от меня. Можете ли вы написать подробное объяснение? Я попытался удалить все перехватчики и оставить только этот один: '<перехватывать-шаблон URL = '/ **' доступ = 'ROLE_ANONYMOUS, ROLE_CHANGE_PASS, ROLE_VIEWER, ROLE_USER, ROLE_ADMIN' />' но SS лечит пользователя как анонимный даже после аутентификации. – Mario