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

Tomcat et TomEE Java Discussion :

Tomcat + Serveur CAS + MySQL


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2011
    Messages : 3
    Points : 10
    Points
    10
    Par défaut Tomcat + Serveur CAS + MySQL
    Bonjour à tous.

    Je suis actuellement en train de monter un serveur CAS sur une machine openVZ.

    TOMCAT est donc installé en version 6.0.33. Par dessus, j'ai rajouté un .war pour le serveur cas téléchargé ici :
    http://www.jasig.org/cas/download

    Dans la dernière release, j'ai copié le fichier modules/cas-server-webapp-3.4.10.war dans le dossier webapps de TOMCAT. J'ai renommé ensuite cas-server-webapp-3.4.10.war en cas.war (juste pour que l'URL soit moins longue )

    La page de test du serveur est bien accessible à l'adresse :
    http://192.168.1.157:8080/cas/login

    Je pense donc maintenant que le serveur est en place. Lorsque je rentre un identifiant et un mot de passe identique, je tombe bien sur une page comme quoi je suis bien connecté.

    Maintenant, et c'est là où je peche, je n'arrive pas à relier le serveur CAS à une base MySQL pour aller chercher les utilisateurs dans la base.

    J'ai beau lire des infos sur le net, je ne comprend pas le principe.

    Pouvez-vous m'aider s'il vous plait ?

    Merci d'avance,

    Seb.

  2. #2
    Membre à l'essai
    Inscrit en
    Septembre 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2011
    Messages : 3
    Points : 10
    Points
    10
    Par défaut Réponse
    Bonjour,


    Après avoir pendant plus d'une semaine lutté pour essayer de trouver la réponse, j'y suis enfin parvenu. Parce que la doc sur un serveur CAS de chez JASIG est tellement mal foutu, incomplète voir inexistante, je vous met la solution qui a fonctionné pour moi.
    Je met à la fin la version de tous les fichiers utilisés lors de la création du serveur CAS.


    Installation d'un serveur CAS
    Partons du principe qu'un serveur TOMCAT6 et MySQL sont installés et fonctionnels.

    Téléchargez la dernière version du serveur CAS sur le site de JASIG :
    Site


    Décompresser l'archive puis copier le fichier modules/cas-server-webapp-X.Y.war dans TOMCAT_HOME/webapps/ (éventuellement le renommer afin de raccourcir l'URL. Dans mon cas, pour le tuto, je décide de ne pas le renommer).
    Éventuellement, vous pouvez redémarrer TOMCAT.

    Tester le bon fonctionnement de CAS en allant sur l'URL :
    http://adresse_serveur:8080/cas-server-webapps-X.Y

    Afin de s'authentifier sur le serveur CAS, entrez une valeur dans le champ « login » et la même valeur dans le champ « password ».
    La configuration de base login=password est maintenant fonctionnel. Passons aux choses sérieuses maintenant avec l'intégration de MySQL.


    Configuration avec MySQL
    Téléchargement des fichiers

    Téléchargez le fichier common-pool-A.B-bin.tar.gz et le décompresser :
    http://commons.apache.org/pool/download_pool.cgi

    Téléchargez le fichier common-dbcp-C.D-bin.tar et le décompresser :
    http://commons.apache.org/dbcp/download_dbcp.cgi

    Téléchargez le fichier cas-server-support-jdbc-X.Y.jar où X et Y correspond à la version du serveur CAS. Une simple recherche sur google avec le nom du fichier vous permettra de le trouver.

    Téléchargez le fichier mysql-connector-java-E.F.tar.gz et le décompresser.
    http://dev.mysql.com/downloads/connector/j/

    Placez les fichiers :
    • common-pool-A.B.jar
    • common-dbcp-C.D.jar
    • cas-server-support-jdbc-X.Y.jar
    • mysql-connector-java-E.F-bin.jar

    dans le répertoire TOMCAT_HOME/webapps/cas-server-webapps-X.Y/WEB-INF/lib/.

    Configurer MySQL

    Créez une base de données avec une table contenant au minimum un champ contenant le login et le mot de passe de l'utilisateur. N'oubliez pas d'y rentrer au moins une ligne pour pouvoir tester à la fin

    Configurer les fichiers

    Ouvrez le fichier :
    TOMCAT_HOME/webapps/cas-server-X.Y/WEB-INF/deployerConfigContext.xml

    Cherchez dans le fichier la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
    La mettre en commentaire ou la supprimer puis la remplacer par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <bean id="SearchModeSearchDatabaseAuthenticationHandler" class="org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler" abstract="false"     lazy-init="default" autowire="default"> 
    	<property name="tableUsers"> 
    			<value>table</value> 
    	</property> 
    	<property name="fieldUser"> 
    			<value>utilisateur</value> 
    	</property> 
    	<property name="fieldPassword"> 
    			<value>password</value> 
    	</property> 
    	<property name="dataSource" ref="dataSource" /> 
    </bean>
    Ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            <property name="tableUsers"> 
    			<value>table</value> 
    	</property>
    Modifiez la valeur « table » par le nom de la table de la base de données.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            <property name="fieldUser"> 
    			<value>utilisateur</value> 
    	</property>
    Modifiez la valeur « utilisateur » par le champ de la table contenant les logins.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            <property name="fieldPassword"> 
    			<value>password</value> 
    	</property>
    Modifiez la valeur « password » par le champ de la table contenant les mots de passe des utilisateurs.


    Descendre à la fin du fichier et juste avant le dernier </beans> (la dernière balise), ajoutez ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> 
    	<property name="driverClassName"> 
    			<value>com.mysql.jdbc.Driver</value> 
    	</property> 
    	<property name="url"> 
    		<value>jdbc:mysql://localhost:3306/base_de_données</value> 
    	</property> 
    	<property name="username"> 
    			<value>user_bdd</value> 
    	</property> 
    	<property name="password"> 
    			<value>passwd_user_bdd</value> 
    	</property> 
    </bean>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            <property name="url"> 
    	<value>jdbc:mysql://localhost:3306/base_de_données</value> 
    	</property>
    Ici, il faut mettre l'URL d'accès à la base de données.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	<property name="username"> 
    			<value>user_bdd</value> 
    	</property> 
    	<property name="password"> 
    			<value>passwd_user_bdd</value> 
    	</property>
    Ajoutez le nom de l'utilisateur se connectant à la base de données ainsi que son mot de passe.

    Ouvrez le fichier :
    TOMCAT_HOME/webapps/cas-server-X.Y/WEB-INF/cas.properties
    Décommentez la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    database.hibernate.dialect=org.hibernate.dialect.MySQLDialect
    et commentez celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    database.hibernate.dialect=org.hibernate.dialect.HSQLDialect
    Redémarrez tomcat et se connecter sur la page :
    http://adresse_serveur:8080/cas-server-webapps-X.Y

    Testez avec des informations entrées dans la base de données.

    /!\ Il est indiqué que la connexion en HTTP ne marchera pas. Dans les faits, ça fonctionne, mais il est préférable de passer par du HTTPS /!\

    A.B, C.D, E.F, X.Y correspondent à des numéros de versions.

    Serveur CAS créé avec les fichiers suivants lors de la création du tuto :
    • cas-server-3.4.10
    • commons-pool-1.5.6.jar
    • commons-dbcp-1.4.jar
    • cas-server-support-jdbc-3.4.10.jar
    • mysql-connector-java-5.1.18-bin.jar



    En espérant que cela fonctionne aussi pour vous

  3. #3
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Points : 27
    Points
    27
    Par défaut
    Bonjour,

    Pour ma part j'ai suivi le tuto à la lettre, il m'a été très utile jusqu'à la fin cependant une fois le tuto terminé, j'essaie de m'authentifier avec un des utilisateurs saisi en BDD et j'arrive sur une page d'erreur HTTP Status 500 -

    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
    type Exception report
     
    message
     
    description The server encountered an internal error () that prevented it from fulfilling this request.
     
    exception
     
    org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoSuchMethodError: org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler.getPrincipalNameTransformer()Lorg/jasig/cas/authentication/handler/PrincipalNameTransformer;
    	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:920)
    	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
    	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
    	org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    	org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:115)
    	org.inspektr.common.web.ClientInfoThreadLocalFilter.doFilterInternal(ClientInfoThreadLocalFilter.java:48)
    	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
    et je ne vois pas trop d'où vient le problème, si quelqu'un pouvait me donner un coup de main ?

    Merci

  4. #4
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Bonjour ,
    je suis actuelllement en stage et mon maitre de stage m'a demandé d'installer un serveur CAS dans mon propre ordinateur , j'ai cherché des tutoriels qui m'ont demander d'installer jdk et tomcat et du coup je me bloque . Ma machine est 32 bits et les jdk que j'ai trouvé sont 64 bits donc serait -il possible de m'aider pour ce probléme ? Est-ce que n'importe quels jdk que j'installe peut suffir ou faut il installer une machine virtuelle Vmware 64 bits?
    SVP répondez c'est urgent!!

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

Discussions similaires

  1. Mysql et Tomcat serveur comprehension ?!
    Par mihaispr dans le forum MySQL
    Réponses: 2
    Dernier message: 17/03/2010, 16h06
  2. Réponses: 1
    Dernier message: 17/01/2006, 22h56
  3. [ Tomcat ] serveur d'application!!serveur web!!
    Par miagomiago dans le forum Tomcat et TomEE
    Réponses: 10
    Dernier message: 03/01/2006, 17h07
  4. [TOMCAT]Configuration connexion à MySQL
    Par Shiryu44 dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 01/04/2005, 18h01
  5. [Eclipse + Tomcat] Utiliser base Mysql de EasyPHP
    Par louvino dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 05/01/2005, 23h09

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