2010-12-05 29 views
1

J'ai résolu mon problème ici.printemps sécurité 2.0.6 AuthenticationProcessingFilter authenticationFailureUrl ne fonctionne pas

Je l'avais oublié ce qui suit:

<beans:bean id="authenticationProcessingFilterEntryPoint" class="org.springframework.security.ui.webapp.AuthenticationProcessingFilterEntryPoint"> 
    <beans:property name="loginFormUrl" value="/index.jsp" /> 
    <beans:property name="forceHttps" value="false" /> 
</beans:bean> 

Comme vous pouvez le voir ci-dessus j'ai /index.jsp et c'est là, il essaie d'aller.

L'autre question est la ligne suivante

<concurrent-session-control max-sessions="1" exception-if-maximum-exceeded="true"/> 

Alors cela me dit de jeter et exception. Donc, à la fin - tout semble fonctionner comme prévu.


Original Post:

Comme l'indique sujet, j'ai la configuration suivante:

<beans:bean id="authenticationProcessingFilter" class="org.springframework.security.ui.webapp.AuthenticationProcessingFilter"> 
    <custom-filter position="AUTHENTICATION_PROCESSING_FILTER" /> 
    <beans:property name="defaultTargetUrl" value="/admin/adminLanding.html"/> 
    <beans:property name="authenticationManager" ref="authenticationManager" /> 
    <beans:property name="authenticationFailureUrl" value="/login.jsp?login_error=1"/> 
    <beans:property name="allowSessionCreation" value="true" /> 
    <beans:property name="targetUrlResolver" ref="roleBasedTargetUrlResolver" /> 
</beans:bean> 

Mon attente est que lorsqu'une authentification échoue ou a expiré qu'il utiliser le réglage pour authenticationFailureURL. Mais ce que j'obtiens est l'erreur suivante dans mon journal:

La ressource demandée (/ecotrak/index.jsp) n'est pas disponible.

Je ne comprends pas pourquoi il cherche index.jsp quand j'ai donné /login.jsp?login_error=1 comme valeur.

N'importe quelle direction cela?

+0

Quelle est l'URL à laquelle vous accédez pour laquelle vous voyez l'erreur mentionnée dans le journal? Est-ce /ecotrack/index.jsp? – Raghuram

+0

@Raghuram - Lorsque j'attends que le site expire - environ 30 minutes et que je sélectionne la page, je m'attends à ce que cette page de connexion s'affiche. Mais, il semble vouloir aller à la page index.jsp - que je n'ai pas. Alors, comment puis-je l'obtenir pour aller à la page de connexion quand une session de l'utilisateur a expiré? – boyd4715

Répondre

0

Tienes que reemplazar lancez une nouvelle AuthenticationServiceException ("Error obteniendo Menu"); par exemple: request.getSession(). setAttribute (SPRING_SECURITY_LAST_EXCEPTION_KEY, nouvelle AuthenticationServiceException ("Erreur obteniendo Menu")); response.sendRedirect (request.getContextPath() + "/ login/login.htm? Login_error = 1"); retour;

Contient des lignes et des pages d'erreur.

+0

Veuillez écrire vos réponses en anglais sur ce site, et formater votre code avec le bouton "code" (ou 4 espaces avec une nouvelle ligne entre le code et votre ligne précédente sans code) – Mike

+0

J'ai essayé de traduire cela, mais j'ai peut-être J'ai mal compris votre sens. Veuillez corriger si je vous lis mal ici. –