Seguridad de Spring - SecurityContext.authentication null en taglib y jsp pero está bien en el controlador

He estado luchando con este problema por un tiempo ahora. Encontré varios mensajes al respecto pero ninguno resolvió mi problema. Probablemente tendrá algo que ver con el hecho de que un SecurityContext es un tema específico, pero aún así no sé cómo resolverlo:

Considere el siguiente código para recuperar el usuario que inició sesión:

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

La ejecución de este código en un controlador devolvería (correctamente) al usuario que inició sesión. Al ejecutar este código desde un taglib o jsp, se genera NPE (authentication = null). También la etiqueta de primavera no funciona (presumiblemente por la misma razón).

Extracto de 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>

Extracto del archivo de configuración de seguridad de primavera:

    <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>

Respuestas a la pregunta(2)

Su respuesta a la pregunta