Question

Nous courons une application web qui a été testé sur Tomcat, Glassfish, WebLogic et WebSphere. Tout exécuter correctement, sauf WebSphere. Le problème est que les filtres ne sont pas traités pour les fichiers dans un répertoire.

Par exemple, j'ai un filtre qui vérifie de cookies du navigateur et un autre qui se nom d'utilisateur de l'utilisateur lanuage de l'utilisateur, dans le web.xml il sont configurés comme ceci:

<!-- ****************************** -->
<!-- * Security context filtering * -->
<!-- ****************************** -->

<filter>
    <filter-name>SetSecurityContextFilter</filter-name>
    <filter-class>
        com.test.security.SecurityContextServletFilter
    </filter-class>
</filter>

<!-- ****************************** -->
<!-- ** Locale context filtering ** -->
<!-- ****************************** -->

<filter>
    <filter-name>SetLocaleFilter</filter-name>
    <filter-class>
        com.test.locale.LocaleServletFilter
    </filter-class>
</filter>

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

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

Les deux filtres définir une variable statique ThreadLocal accessible à partir d'un getter statique, mais quand le même fichier « test.jsp » invoque les getters, sous la rubrique « contextRoot / js » ils retournent la valeur par défaut des valeurs (comme si unset) tandis que sous ' contextRoot / pages' ils sont corrects.

Toutes les idées?

Merci d'avance.

Était-ce utile?

La solution

Je l'ai découvert quel était le problème!

Dans mon web.xml plus bas que j'ai ceci:

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Test Application</web-resource-name>
            <url-pattern>/pages/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
             ...
        </auth-constraint>
    </security-constraint>

Si je change le modèle d'URL à '/ * de sorte que chaque page sous la racine de contexte nécessite une connexion, tous les filtres sont de fonctionner correctement, tout le temps. Cela ne signifie cependant que ma page de connexion n'a pas accès à tous les fichiers css mais c'est un autre problème!

Vive.

Autres conseils

Définir votre page de connexion comme forme-login page pourrait l'aider à obtenir des ressources css comme suit <form-login-config> <form-login-page>/Login.jsp</form-login-page>

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top