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

Glassfish et Payara Java Discussion :

Problème d'authentication avec Realm JDBC


Sujet :

Glassfish et Payara Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

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

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Par défaut Problème d'authentication avec Realm JDBC
    Bonjour
    j'arrive pas à me connecter en utilisant l'authentification jdbc realm
    voici mes entités.


    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
    @Entity
    @Table(name = "agent")
    public class Agent implements Serializable {
     
     
        public static final String FindByLogin="findByLogin";
        private static final long serialVersionUID = 1L;
     
        @Id 
        @Basic(optional=false)
        @NotNull
        @Size(max = 254)
        @Column(name = "login")
        private String login;
     
     
        //ici un user a un unique groupe ou role
        @JoinColumn(name="groupname",referencedColumnName="name")
        @ManyToOne(optional=false)
        private Groupe groupe;
       //getter and setter
       }
    le groupe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @Entity
    @Table(name = "Groupe")
    public class Groupe implements DAOEntry {
        private static final long serialVersionUID = 1L;
        @Id
        @Column(name="name",nullable=false)
        private String name;
     
        @OneToMany(mappedBy="groupe")
        private Collection<Agent> agents; 
     
    //getter and setter
    }
    voici la classe de cryptage de mot de passe que j'utilises

    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
    public class Crypto {
     
        public String hashPasstoSHA256(String pass)  {
    	String hash;
    	MessageDigest md = null;
    	try {
    		md = MessageDigest.getInstance("SHA-256");
     
     
    	hash = new String (md.digest((pass).getBytes("UTF-8")));
            } catch (Exception e) {
    		e.printStackTrace();
                    return null;
    	}
    	return hash;
    }
    }
    et voici dans ma configuration dans domain.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
          <auth-realm name="fiscalRealm" classname="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm">
              <property name="jaas-context" value="jdbcRealm"></property>
              <property name="encoding" value="Hex"></property>
              <property name="password-column" value="password"></property>
              <property name="datasource-jndi" value="jdbc/fiscal"></property>
              <property name="group-table" value="agent"></property>
              <property name="user-table" value="agent"></property>
              <property name="group-name-column" value="groupname"></property>
              <property name="digestrealm-password-enc-algorithm" value="AES"></property>
              <property name="user-name-column" value="login"></property>
              <property name="charset" value="UTF-8"></property>
            </auth-realm>
    voici le stracktrace
    javax.security.auth.login.LoginException: Security Exception
    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:870)
    at javax.security.auth.login.LoginContext.access$000(LoginContext.java:203)
    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:698)
    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:696)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:695)
    at javax.security.auth.login.LoginContext.login(LoginContext.java:594)
    at com.sun.enterprise.security.auth.login.LoginContextDriver.doPasswordLogin(LoginContextDriver.java:382)
    at com.sun.enterprise.security.auth.login.LoginContextDriver.login(LoginContextDriver.java:240)
    at com.sun.enterprise.security.auth.login.LoginContextDriver.login(LoginContextDriver.java:153)
    at com.sun.web.security.RealmAdapter.authenticate(RealmAdapter.java:514)
    at com.sun.web.security.RealmAdapter.authenticate(RealmAdapter.java:455)
    at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:268)
    at org.apache.catalina.authenticator.AuthenticatorBase.processSecurityCheck(AuthenticatorBase.java:911)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:546)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:623)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
    at java.lang.Thread.run(Thread.java:722)
    Caused by: java.lang.SecurityException
    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:871)
    ... 35 more
    alors je ne sais pas trop ce qui cloche.
    Merci

  2. #2
    Membre éprouvé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Par défaut
    Je crois que déjà ça n'est pas normale.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
             <property name="group-table" value="agent"></property>
    je ne crois pas que le nom de ta table qui représente les groupes dans le JASS soit un agent.

  3. #3
    Membre très actif Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

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

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Par défaut
    C'est par rapport à un exemple pris sur le net.précisant que JAAS veut seulement la table ou se trouve le nom du groupe.
    c'est ici que je l'ai vu.http://stackoverflow.com/questions/7...g-a-jdbc-realm

  4. #4
    Membre très actif Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

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

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Par défaut
    j'ai finalement utilisé un api realm appellé Flexible JDBC Realm.
    J'ai pu faire des essayes en cryptage md5 et SHA-256.
    nikel ça marche

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

Discussions similaires

  1. Problème de connexion avec JDBC
    Par velight dans le forum JDBC
    Réponses: 1
    Dernier message: 06/09/2010, 18h03
  2. Réponses: 7
    Dernier message: 26/04/2007, 13h21
  3. Problème de connection avec JDBC !
    Par obon dans le forum JDBC
    Réponses: 14
    Dernier message: 24/08/2006, 16h38
  4. problème de connexion avec JDBC
    Par r@rou dans le forum JBuilder
    Réponses: 5
    Dernier message: 25/07/2006, 13h16
  5. Problème de connexion avec le JDBC
    Par inch dans le forum JDBC
    Réponses: 3
    Dernier message: 07/12/2005, 12h54

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