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

Java EE Discussion :

Spring Security avec JSF (sans Maven) [Sécurité]


Sujet :

Java EE

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Spring Security avec JSF (sans Maven)
    Bonjour tout le monde,

    je développe une application Web JavaEE avec jsf 2.2 + eclipseLink sous NetBeans 8.1 et je voudrais la sécuriser au début avant de se lancer sur le développement des autres parties.
    j'ai vu des tutoriels avec Spring Security mais la plupart sont avec Spring MVC ou Maven, et je pense que ce n'est pas mon cas ! (la plupart des tutos demandent des fichiers tels que : pom.xml, servlet-dispatcher.xml, applicationcontext.xml, ...)
    Qu'elle est la meilleure solution pour sécuriser mon application ? est-ce que je peux utiliser Spring Security ?
    Et s'il a des tutos Spring Security qui peuvent m'aider?

    merci de vos suggestions et solutions

  2. #2
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 178
    Points : 274
    Points
    274
    Par défaut
    Tu devrais regarder les security constraints de ton web.xml, un serveur JavaEE permet de gérerla sécurité au niveau des resources web ou ejb.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    ok merci

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 623
    Points : 1 370
    Points
    1 370
    Par défaut
    Un lien pour appuyer ce que dit ehsavoie : https://docs.oracle.com/javaee/7/tut...rity.htm#GIJRP

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Merci FaridM

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    j'ai commencé de travailler avec Spring Security j'ai fait l'integration avec jsf , j'ai fait la configuration de la base de données qui contient les username et password , mais lorsque j'ai fait une page login personnalisée n'est celle par défaut du spring security , ça marche pas le navigateur m'affiche " La page localhost ne fonctionne pas

    localhost vous a redirigé à de trop nombreuses reprises." j'ai pas compris l'erreur , merci d'avance pour vos aide

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ta page de login est bien en dehors de la zone sécurisée? Sinon spring sécurity te redirige vers le login, le browser demande le login, spring sécurité dit "ha ben non c'est protégé tiens va vers la page de login"

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Merci , j'ai resolu ce probléme mais dans la page login il s'affiche le titre de la page uniquement mais le formulaire non tous se qui est inputText ou bien boutton ne s'affichent pas pourtant j'ai vérifié l'ajout de id="j_usermane" et id="j_password" pour les inputText du userName et password .

  9. #9
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    tu peux nous donner le code source de ta page?

  10. #10
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Page login.xhtml
    Merci beaucoup tchize_

    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
    <?xml version='1.0' encoding='UTF-8' ?>
    <!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:ui="http://xmlns.jcp.org/jsf/facelets"
          xmlns:h="http://xmlns.jcp.org/jsf/html"
          xmlns:f="http://xmlns.jcp.org/jsf/core"
          >
     
        <h:body>
            <h2>This is the custom login page.</h2>
     
            <h:form id="loginForm" styleClass="form-horizontal form-label-left" prependId="false" >
                <!-- Id's must not be changed to support spring security check -->
                <h:panelGrid columns="3">
     
                    <label for="j_username"/>  
                    <h:inputText id="j_username"  required="true" > </h:inputText> 
     
                    <label for="j_password" />  
                    <h:inputSecret id="j_password" required="true"> </h:inputSecret> 
     
                </h:panelGrid>
     
                <h:commandButton  id="login" action="#{employeeController.doLogin()}" />
            </h:form>
     
        </h:body>
     
    </html>

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 11
    Points : 6
    Points
    6
    Par défaut 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
    24
    25
    26
    27
    28
    29
    30
    <?xml version="1.0" encoding="UTF-8"?>
     
    <beans:beans xmlns="http://www.springframework.org/schema/security"
        xmlns:beans="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans <a href="http://www.springframework.org/schema/beans/spring-beans-3.2.xsd" target="_blank">http://www.springframework.org/schem...-beans-3.2.xsd</a>
                            <a href="http://www.springframework.org/schema/security" target="_blank">http://www.springframework.org/schema/security</a> http://www.springframework.org/schema/security/spring-security-3.2.xsd">
     
    	<http use-expressions = "true">
     
            <intercept-url pattern="/login*" access="isAnonymous()" />
            <intercept-url pattern="/**" access="isAuthenticated()" />
     
                <form-login login-page='/login.xhtml' authentication-failure-url="/login.xhtml?error=true" />
     
              </http>
     
    	<authentication-manager>
     
              <authentication-provider>
              <password-encoder hash="md5"/>
     
                    <user-service>
                    <user name="rod" password="1" authorities="ROLE_USER" />
     
                </user-service>
               </authentication-provider>     
    	    </authentication-manager>
     
    </beans:beans>

  12. #12
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Et ta servlet JSF elle est mappée sur quelle url? J'ai l'impression que tu sert ton login directement plutot que de passer par la servlet jsf. du coup pas d'interprétation des tags jsf.

  13. #13
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Merciiiiiiiiiiiiiiiiiiiii beaucouuuup tchize_

    c'est ça mon problème w je l'ai résolu je suis tréééés reconnaissante

  14. #14
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Spring securtiy 3.2 + jsf
    Bonjour tout le monde,
    autre fois j'ai besoin de vouuuus , j'ai une application avec jsf 2.2 et spring security 3.2 j'ai fait une page login personnalisée , au début ça marcha bien mais maintenant lorsque j’exécute l'application la page login ne s'affiche pas et j'ai une connexion automatique avec AnonymousUser , j'ai beaucoup besoin de votre aide.

    Spring-security.xml :

    <?xml version="1.0" encoding="UTF-8"?>

    <beans:beans xmlns="http://www.springframework.org/schema/security"
    xmlns:beans="http://www.springframework.org/schema/beans"
    xmlnssi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schem...-beans-3.2.xsd
    http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.2.xsd">

    <http use-expressions="true">
    <intercept-url pattern="/login.xhtml" access="permitAll" />
    <intercept-url pattern="/resources/**" access="permitAll"/>


    <intercept-url pattern="*/employee/*" access="isAuthenticated()" />
    <intercept-url pattern="*/activity/*" access="isAuthenticated()" />
    <intercept-url pattern="*/project/*" access="isAuthenticated()" />
    <intercept-url pattern="*/contrat/*" access="isAuthenticated()" />
    <intercept-url pattern="*/details/*" access="isAuthenticated()" />
    <intercept-url pattern="*/leaverequest/*" access="isAuthenticated()"/>
    <intercept-url pattern="*/mission/*" access="isAuthenticated()" />
    <intercept-url pattern="*/salarystructure/*" access="isAuthenticated()" />
    <intercept-url pattern="*/team/*" access="isAuthenticated()" />

    <intercept-url pattern="*/employee/Create" access="hasRole('ADMIN')" />
    <intercept-url pattern="*/employee/List" access="hasRole('ADMIN')" />
    <intercept-url pattern="*/employee/Edit" access="hasRole('ADMIN')" />
    <intercept-url pattern="*/employee/View" access="hasRole('ADMIN')" />
    <intercept-url pattern="*/leaverequest/List" access="hasRole('ADMIN')" />
    <intercept-url pattern="*/leaverequest/Edit" access="hasRole('ADMIN')" />
    <intercept-url pattern="*/leaverequest/View" access="hasRole('ADMIN')" />





    <form-login login-page="/login.xhtml" authentication-failure-url="/login.xhtml?error=true"/>
    <logout logout-success-url="/faces/login.xhtml" logout-url="/j_spring_security_logout" />

    </http>




    <authentication-manager>
    <authentication-provider>

    <jdbc-user-service data-source-ref="dataSource"
    users-by-username-query="select username, password , isactive from employee where username=?"
    authorities-by-username-query="select username ,acceslevel from employee where username =? " />


    </authentication-provider>
    </authentication-manager>


    <!-- Select users and user_roles from database -->


    <beans:bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <beans:property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <beans:property name="url" value="jdbc:mysql://localhost:3306/gestionrh" />
    <beans:property name="username" value="vegarh" />
    <beans:property name="password" value="vegarh" />
    </beans:bean>



    </beans:beans>


    web.xml :

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlnssi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</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>*.xhtml</url-pattern>
    <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <session-config>
    <session-timeout>
    30
    </session-timeout>
    </session-config>


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

    <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>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>REQUEST</dispatcher>
    </filter-mapping>

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

    <welcome-file-list>
    <welcome-file>faces/employee/Create.xhtml</welcome-file>
    </welcome-file-list>

    </web-app>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. différence entre Spring MVC et Spring intégré avec JSF
    Par marwa_eniso dans le forum Spring Web
    Réponses: 5
    Dernier message: 15/11/2016, 11h16
  2. [Security] Spring Security avec JSF (sans Maven)
    Par regalo dans le forum Spring
    Réponses: 12
    Dernier message: 20/12/2014, 01h48
  3. Menu dynamique avec Spring-security et JSF
    Par rc.dev2009 dans le forum JSF
    Réponses: 2
    Dernier message: 19/08/2011, 03h49
  4. Différence entre Spring MVC et Spring intégré avec JSF
    Par marwa_eniso dans le forum Frameworks Web
    Réponses: 3
    Dernier message: 31/08/2010, 07h16
  5. [Security] Spring Security et JSF: intercept-url
    Par Lourpiop dans le forum Spring
    Réponses: 3
    Dernier message: 06/05/2010, 20h51

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