IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Java Discussion :

Simple authentification avec spring security


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 40
    Par défaut Simple authentification avec spring security
    Bonjour,
    J'essaye de faire une simple page d'authentification en utilisant spring security mais lorsque j'introduit le username et la password y'a pas de redirection vers la page Accueil.jsf

    Voilà mes fichiers:
    web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
      <display-name>Evaluation des collaborateurs</display-name>
        <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>
      <listener>
        <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
      </listener>
     
      <context-param>
        <param-name>javax.faces.CONFIG_FILES</param-name>
        <param-value>/WEB-INF/faces-config.xml</param-value>
      </context-param>
      <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Production</param-value>
      </context-param>
      <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
      </servlet-mapping>
      <servlet>
        <servlet-name>PdfServlet</servlet-name>
        <servlet-class>net.sf.jasperreports.j2ee.servlets.PdfServlet</servlet-class>
      </servlet>
      <!-- SPRING SECURITY -->
      <servlet>
    		<servlet-name>mvc-dispatcher</servlet-name>
    		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    		<load-on-startup>1</load-on-startup>
    	</servlet>
      	<servlet-mapping>
    		<servlet-name>mvc-dispatcher</servlet-name>
    		<url-pattern>/</url-pattern>
    	</servlet-mapping>
      	<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> 
        
         <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:application-contexte.xml,
        						/WEB-INF/mvc-dispatcher-servlet.xml,
    							/WEB-INF/spring-security.xml
        </param-value>
        </context-param>
       
    </web-app>
    mvc-dispatcher-servlet.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:context="http://www.springframework.org/schema/context"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="
            http://www.springframework.org/schema/beans     
            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.springframework.org/schema/context 
            http://www.springframework.org/schema/context/spring-context-3.0.xsd
            http://www.springframework.org/schema/mvc
        	http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
     
    	<context:component-scan base-package="com.mkyong.common.controller" />
     
    	<bean
    		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    		<property name="prefix">
    			<value>/</value>
    		</property>
    		<property name="suffix">
    			<value>.jsf</value>
    		</property>
    	</bean>
     
    	<bean id="messageSource"
    		class="org.springframework.context.support.ResourceBundleMessageSource">
    		<property name="basenames">
    			<list>
    				<value>mymessages</value>
    			</list>
    		</property>
    	</bean>
     
    </beans>
    spring-security.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns:security="http://www.springframework.org/schema/security"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    		http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.4.xsd">
     
     
    <security:http auto-config="true" use-expressions="true">
    		<security:intercept-url pattern="/welcome*" access="hasRole('ROLE_USER')" />
    		<security:form-login login-page="/login" default-target-url="/welcome"
    			authentication-failure-url="/loginfailed" />
    		<security:logout logout-success-url="/logout" />
    </security:http>
    <security:authentication-manager alias="authenticationManager">
        <security:authentication-provider>
          <security:user-service>
            <security:user name="user" password="password" authorities="ROLE_USER"/>
          </security:user-service>
        </security:authentication-provider>
    </security:authentication-manager>
    </beans>
    LoginController.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    package com.oc.springSec;
     
    import java.security.Principal;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.ModelMap;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
     
    @Controller
    public class LoginController {
     
    	@RequestMapping(value="/", method = RequestMethod.GET)
    	public String printWelcome(ModelMap model, Principal principal ) {
    		 System.out.println("ana f controller1");
    		String name = principal.getName();
    		model.addAttribute("username", name);
    		model.addAttribute("message", "Spring Security Custom Form example");
    		return "Accueil";
     
    	}
     
    	@RequestMapping(value="/login", method = RequestMethod.GET)
    	public String login(ModelMap model) {
    		System.out.println("ana f controller2");
    		return "login";
     
    	}
     
    	@RequestMapping(value="/loginfailed", method = RequestMethod.GET)
    	public String loginerror(ModelMap model) {
    		System.out.println("ana f controller3");
    		model.addAttribute("error", "true");
    		return "login";
     
    	}
     
    	@RequestMapping(value="/logout", method = RequestMethod.GET)
    	public String logout(ModelMap model) {
    		System.out.println("ana f controller4");
    		return "login";
     
    	}
     
    }
    login.xhtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
    		xmlns:f="http://java.sun.com/jsf/core" 
    		xmlns:h="http://java.sun.com/jsf/html"
    		xmlns:c="http://java.sun.com/jsp/jstl/core" 
    		xmlns:p="http://primefaces.org/ui">
    <h:head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    </h:head>
     
       <h:body onload='document.f.j_username.focus();'>
     
    	 						<!-- CORPS -->
    	<h3>Login with Username and Password (Custom Page)</h3>
     
    	<c:if test="${not empty error}">
    		<div class="errorblock">
    			Your login attempt was not successful, try again.<br /> Caused :
    			${sessionScope["SPRING_SECURITY_LAST_EXCEPTION"].message}
    		</div>
    	</c:if>
    	<h:outputLink value='j_spring_security_check' var="form2Url"></h:outputLink>
    	<form name='f' action="${form2Url}"
    		method='post'>
     
    		<table>
    			<tr>
    				<td>User:</td>
    				<td><input type='text' name='j_username' value=''/>
    				</td>
    			</tr>
    			<tr>
    				<td>Password:</td>
    				<td><input type='password' name='j_password' />
    				</td>
    			</tr>
    			<tr>
    				<td colspan='2'><input name="submit" type="submit"
    					value="submit" />
    				</td>
    			</tr>
    			<tr>
    				<td colspan='2'><input name="reset" type="reset" />
    				</td>
    			</tr>
    		</table>
     
    	</form>
     
      </h:body>
     
    </html>
    Accueil.xhtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
    		xmlns:f="http://java.sun.com/jsf/core" 
    		xmlns:h="http://java.sun.com/jsf/html" 
    		xmlns:p="http://primefaces.org/ui"
    		xmlns:ui="http://java.sun.com/jsf/facelets">
    <h:head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <title>Insert title here</title>
    </h:head>
    <h:body>
     
            <h3>Message : ${message}</h3>	
    	    <h3>Username : ${username}</h3>	
     		<h:outputLink value='j_spring_security_logout' var="springSecurityLogout"></h:outputLink>
    	    <a href="springSecurityLogout">Logout</a> 
    </h:body>
    </html>
    merci d'avance

  2. #2
    Membre chevronné Avatar de ruscov
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2007
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2007
    Messages : 347
    Par défaut
    Tu as mis dans ton form-login :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    default-target-url="/welcome"
    Donc une fois loggé, il va chercher le @RequestMapping("/welcome"), ce que je ne vois pas dans ton Controller.

Discussions similaires

  1. Aide plusieurs authentification avec spring security
    Par ahmedpa dans le forum Spring
    Réponses: 0
    Dernier message: 16/06/2015, 09h47
  2. [Security] Plusieurs types d'authentification avec spring security
    Par soumayachouchene dans le forum Spring
    Réponses: 0
    Dernier message: 10/04/2013, 18h45
  3. [Security] Authentification avec Spring Security
    Par tiamo dans le forum Spring
    Réponses: 1
    Dernier message: 11/09/2012, 14h01
  4. [Security] Utiliser l'authentification avec Spring Security
    Par wadjaawbk dans le forum Spring
    Réponses: 4
    Dernier message: 21/11/2011, 18h23
  5. Réponses: 1
    Dernier message: 19/12/2010, 12h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo