2013-03-26 5 views
0

Я хочу установить защиту для всех URL-адресов, кроме URL-адреса экрана входа в систему весной, , но я не хочу использовать управление сеансом.Удаление сеанса весной Безопасность

Пожалуйста, помогите мне в этом выпуске. мой файл контекста безопасности ниже

<security:http pattern="/" security="none" /> 

<security:http auto-config="false" use-expressions="true" create-session="stateless" access-denied-page="/" entry-point-ref="authenticationEntryPoint" > 
    <security:intercept-url pattern="/**" access="isAuthenticated()" />  
    <security:intercept-url pattern="/logout" access="permitAll" /> 
    <security:intercept-url pattern="/logout.jsp" access="permitAll" /> 
    <security:logout logout-url="/j_spring_security_logout" /> 
    <security:custom-filter ref="authenticationFilter" position="FORM_LOGIN_FILTER"/> 
</security:http> 

ответ

2

Упорядочение ваших intercept-url тегов неправильно. Цитата из reference docs:

Вы можете использовать несколько элементов, чтобы определить различные требования доступа для различных наборов URL-адресов, но они будут оцениваться в указанном порядке, и первый матч будет использоваться. Поэтому вы должны поставить наиболее конкретные матчи вверху.

Переместить intercept-url с универсальным шаблоном соответствия в нижней части списка.