2010-07-08 4 views
0

J'ai une application Web Spring MVC que j'aimerais afficher une simple page d'accueil (index.html). Sur cette page, je viens d'avoir un 2 liens href: un pour me conduire à la page de connexion qui est ensuite implémentée en utilisant Spring Security (2.5.6) et Hibernate 3 et l'autre à une page d'inscription pour les nouveaux utilisateurs. Cependant, le problème est que Spring Security charge automatiquement ma page de connexion à chaque fois et ne charge PAS la page index.html où j'ai codé les 2 liens pour me transférer à la connexion ou à l'enregistrement. Je suis amené à la page de connexion qui fonctionne bien. Cependant, je n'arrive jamais à montrer la page index.html initiale de mon application web. Quelqu'un peut-il nous éclairer sur la façon d'empêcher Spring Security de surcharger la «page d'accueil» avec sa page d'ouverture de session.Comment empêcher Spring Security 2.5 de surcharger le chargement d'une page d'accueil (index.html)

Merci beaucoup.

Voici ma sécurité Spring créé en web.xml:

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value> 
     WEB-INF/spring-beans.xml 
     WEB-INF/spring-security.xml 
    </param-value> 
</context-param> 

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

<welcome-file-list> 
    <welcome-file>index.html</welcome-file> 

</welcome-file-list> 

Répondre

0

utilisation

<form-login login-page="/login.jsp" />

1

Il n'y a rien de mal avec votre fichier web.xml, vous devez nous montrer votre WEB Fichier -INF/spring-security.xml Si vous continuez à vous diriger vers la page de connexion, il y a de fortes chances que vous fassiez une erreur dans le modèle d'intercept-url qui fait que votre page d'accueil soit interceptée par Spring Security avant de l'afficher.

Voici un exemple des balises interception url que vous trouverez dans votre fichier WEB-INF /-security.xml printemps: -

<http auto-config="true" access-denied-page="/accessDenied.jsp"> 
     <intercept-url pattern="/login.jsp*" filters="none"/> 
     <intercept-url pattern="/admin/searchUsers.do" access="ROLE_ADMIN" /> 
     <intercept-url pattern="/**.do" access="ROLE_USER,ROLE_ADMIN" /> 
     <form-login authentication-failure-url="/login.jsp?login_error=1" default-target-url="/home.do"/> 
     <logout logout-success-url="/home.do"/> 
    </http> 
+0

LIMC, MERCI BEAUCOUP d'avoir signalé mon erreur. Pour le bénéfice de toute autre personne qui pourrait rencontrer cette erreur stupide qui m'a coûté plus de 4 heures aujourd'hui, j'ai accidentellement index.htm * dans une de mes URL d'interception dans la section Spring Security. – checkers

0

contrôleur doit gérer la demande de l'utilisateur et dans votre cas, aucun contrôleur qui correspond à cette URL. Lorsque le contrôleur est trouvé, il exécute une certaine logique et renvoie le nom de vue qui sera utilisé pour représenter la réponse du serveur. Ainsi, voir le traducteur de noms appelé seulement après le contrôleur et seulement pour déduire le chemin complet vers un fichier JSP particulier.

<mvc:view-controller path="/" view-name="index"/> 

Essayez d'ajouter