Spring Security/Конфигурирование с помощью пространства имён: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 386:
| SWITCH_USER_FILTER || SwitchUserFilter || N/A
|}
 
Вы можете добавить собственный фильтр в стек, используя элемент <code>custom-filter</code> и одно из этих имен, чтобы указать в какой позиции должен появиться ваш фильтр
 
<source lang="xml">
<http>
<custom-filter position="FORM_LOGIN_FILTER" ref="myFilter" />
</http>
 
<beans:bean id="myFilter" class="com.mycompany.MySpecialAuthenticationFilter"/>
</source>
 
Вы можете так же использовать атрибуты <code>after</code> или <code>before</code> если вы хотите чтобы ваш фильтр был вставлен после или перед другим фильтром в стеке. Имена "FIRST" и "LAST" могут быть использованы с атрибутом <code>position</code>, чтобы указать что вы хотите чтобы ваш фильтр появился перед или после всего стека соответственно.
 
<blockquote>'''''Как избежать конфликта позиций фильтров'''''
 
Если вы вставили пользовательский фильтр, который может занять позицию стандартного фильтра, созданного пространством имен, то тогда важно чтобы вы по ошибке не включили версию фильтра из пространства имен. Избегайте использования атрибута <code>auto-config</code> и удалите все элементы, которые могут создать фильтры, чью функциональность вы хотите заменить.
 
Обратите внимание, что вы не можете заменить фильтры которые создаются элементом <code><http></code> - <code>SecurityContextPersistenceFilter</code>, <code>ExceptionTranslationFilter</code> или <code>FilterSecurityInterceptor</code>.</blockquote>
 
= Примечания =