2011-09-27 7 views
1

Je transfère une application héritée de JBoss 4.2.3 vers JBoss 7 (la version de profil web). Ils ont utilisé un module de connexion personnalisé et utilisé une vanne pour capturer le motif d'échec de connexion dans j_exception. Ils l'ont fait en mettant context.xml dans le répertoire web-inf de la guerre, avec le contenu suivant:ExtendedFormAuthenticator dans JBoss 7

<!-- Add the ExtendedFormAuthenticator to get access to the username/password/exception -> 
<Context cookies="true" crossContext="true"> 
<Valve className="org.jboss.web.tomcat.security.ExtendedFormAuthenticator" 
     includePassword="true" ></Valve> 
</Context> 

Le login travaille pour moi, mais pas que la vanne. Lorsqu'il y a une exception de connexion, la j_exception est toujours vide et la logique qui dépend de l'analyse du rejet de la connexion échoue. Selon ce lien: http://community.jboss.org/wiki/ExtendedFormAuthenticator, tout semble correct. Cependant, ce lien est très ancien et il est possible que les choses aient changé depuis. Quelle est la nouvelle façon?

Répondre

0

Il semble que les soupapes de sécurité sont désormais définies directement, comme jboss-web.xml ceci:

<jboss-web> 
<security-domain>mydomain</security-domain> 
<valve> 
     <class-name>org.jboss.web.tomcat.security.ExtendedFormAuthenticator</class-name> 
     <param> 
      <param-name>includePassword</param-name> 
      <param-value>true</param-value> 
     </param> 
    </valve> 
</jboss-web> 

Cependant, la classe ExtendedFormAuthenticator n'a pas été porté à JBoss 7.0.1. Un ticket a été ouvert pour moi, il devrait donc être présent dans JBoss 7.1.0: https://issues.jboss.org/browse/AS7-1963