У меня есть приложение Spring (версия Spring 2.5.6.SEC01 , версия Spring Security 2.0.5 ) со следующей настройкой:
web.xml
<welcome-file-list>
<welcome-file>
index.jsp
</welcome-file>
</welcome-file-list>
Страница index.jsp находится в каталоге WebContent и просто содержит перенаправление:
<c:redirect url="/login.htm"/>
В appname-servlet.xml существует преобразователь представлений, указывающий на страницы jsp в WEB-INF / jsp
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
В файле security-config.xml у меня есть следующая конфигурация:
<http>
<!-- Restrict URLs based on role -->
<intercept-url pattern="/WEB-INF/jsp/login.jsp*" access="ROLE_ANONYMOUS" />
<intercept-url pattern="/WEB-INF/jsp/header.jsp*" access="ROLE_ANONYMOUS" />
<intercept-url pattern="/WEB-INF/jsp/footer.jsp*" access="ROLE_ANONYMOUS" />
<intercept-url pattern="/login*" access="ROLE_ANONYMOUS" />
<intercept-url pattern="/index.jsp" access="ROLE_ANONYMOUS" />
<intercept-url pattern="/logoutSuccess*" access="ROLE_ANONYMOUS" />
<intercept-url pattern="/css/**" filters="none" />
<intercept-url pattern="/images/**" filters="none" />
<intercept-url pattern="/**" access="ROLE_ANONYMOUS" />
<form-login login-page="/login.jsp"/>
</http>
<authentication-provider>
<jdbc-user-service data-source-ref="dataSource" />
</authentication-provider>
Однако я даже не могу перейти на страницу входа и получить следующую ошибку в журнале:
ВНИМАНИЕ: страница входа в систему
защищен цепочкой фильтров, но вы
не имеют анонимности
аутентификация включена. Это почти
конечно ошибка.
Я пытался изменить ROLE_ANONYMOUS на IS_AUTHENTICATED_ANONYMOUSLY, изменить страницу входа на index.jsp, login.htm и добавить разные значения для перехвата, но я не могу получить его, поэтому страница входа доступна и безопасна относится к другим страницам. Что я должен изменить, чтобы избежать этой петли?