2011-11-10 6 views
2

Je suis nouveau sur Spring Security et j'ai configuré Spring Security dans mon application Spring MVC.Spring Security Problème de connexion

Après la présentation de la page de connexion, je reçois l'erreur suivante

The requested resource (/j_spring_security_check) is not available.

Je ne suis pas en mesure de comprendre ce comportement.

Aidez-nous s'il vous plaît.

printemps-security.xml

<security:http auto-config="true" use-expressions="true" access-denied-page="/appln/denied"> 
    <security:intercept-url pattern="/appln/login" access="permitAll" /> 
    <security:intercept-url pattern="/appln/index" access="hasRole('ROLE_ADMIN')" /> 
    <security:intercept-url pattern="/appln/run" access="hasRole('ROLE_ADMIN')" /> 
    <security:intercept-url pattern="/appln/common" access="hasRole('ROLE_USER')" /> 

    <security:form-login login-page="/appln/login" 
         authentication-failure-url="/appln/login?error=true" 
         default-target-url="/appln/run" 
         authentication-success-handler-ref="AuthHandlr" /> 

    <security:logout invalidate-session="true" 
        logout-success-url="/appln/login" 
        delete-cookies="JSESSIONID" /> 
</security:http> 

Web.xml

<filter> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
</filter> 

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

<servlet> 
    <servlet-name>servlet</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 
+1

Un extrait de configuration de sécurité du printemps (ainsi que la web.xml pertinente un) pourrait vraiment aider. –

+1

Avez-vous vérifié vos fichiers journaux? Ce message est souvent un signe que le serveur n'a pas démarré proprement. Il devrait y avoir une erreur de log/stacktrace quelque part. –

Répondre

1

Résolu le problème.

Dans mon loginpage.jsp, l'attribut d'action a été défini comme

action=../../j_spring_security_check

je jouais au-dessus et changé pour

action = /j_spring_security_check

et cela a fonctionné sans aucun problème .

Bien que le problème soit résolu, quelqu'un peut-il préciser pourquoi le changement de trajectoire a fonctionné?

0

L'action de formulaire peut être 'j_spring_security_check' ou '/ j_spring_security_check'.

Ceci est une valeur par défaut dans Spring-Security ne peut pas être modifié.

De même, les champs de formulaire doivent être « j_username » et « j_password »

Questions connexes