Безопасность Spring - SecurityContext.authentication null в taglib и jsp, но нормально в контроллере

Я боролся с этой проблемой в течение некоторого времени. Нашел несколько сообщений об этом, но ни один не решил мою проблему. Вероятно, это будет иметь какое-то отношение к тому факту, что SecurityContext активен для определенного потока, но даже тогда я не знаю, как его решить:

Рассмотрим следующий код для получения пользователя, который вошел в систему:

SecurityContextHolder.getContext().getAuthentication().getPrincipal()

Запуск этого кода в контроллере вернет (правильно) пользователя, вошедшего в систему. Запуск этого кода из taglib или jsp throws NPE (authentication = null). Также весенний тег не функционирует (предположительно по той же причине).

Извлечь из web.xml:

    <filter>
    <filter-name>AcegiFilter</filter-name>
    <filter-class>org.acegisecurity.util.FilterToBeanProxy</filter-class>
    <init-param>
        <param-name>targetClass</param-name>
        <param-value>org.acegisecurity.util.FilterChainProxy</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>AcegiFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

Извлечение из весеннего конфигурационного файла безопасности:

    <bean id="filterChainProxy" class="org.springframework.security.util.FilterChainProxy">
    <property name="filterInvocationDefinitionSource">
        <value>
            CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON 
            PATTERN_TYPE_APACHE_ANT
            /**=httpSessionIntegrationFilter,authenticationProcessingFilter,exceptionTranslationFilter,filterSecurityInterceptor
        </value>
    </property>
</bean>
    <bean id="filterSecurityInterceptor"
    class="org.springframework.security.intercept.web.FilterSecurityInterceptor">
    <property name="authenticationManager" ref="authenticationManager" />
    <property name="accessDecisionManager" ref="accessDecisionManager" />
    <property name="alwaysReauthenticate" value="true" />
    <property name="objectDefinitionSource">
        <value>
            CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON 
            PATTERN_TYPE_APACHE_ANT
            /myaccount.htm=ROLE_CUSTOMER
        </value>
    </property>
</bean>

Ответы на вопрос(2)

Ваш ответ на вопрос