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

Struts 1 Java Discussion :

Integrer jForum à une appli. struts existante


Sujet :

Struts 1 Java

  1. #1
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 20
    Par défaut Integrer jForum à une appli. struts existante
    Bonjour,

    Je cherche à intégrer Jforum à une application web (struts) existante.

    Ce que j'entends pas intégrer c'est :
    - Créer un compte dans mon application web doit créer un compte dans jForum
    - Se logger sur mon application web doit également logger l'utilisateur sur jForum
    - Certaines action sur mon application web doivent automatiquement :
    o Créer une rubrique dans jForum
    o Clôturer une rubrique dans jForum
    etc.

    Il semble que jForum permette tout cela.
    Seulement la documentation n'est pas complète, il manque le module "advanced Integration" concernant jForum, dommage
    Il y a pas mal de discutions (en anglais) à ce sujet, mais je ne suis pas très à l'aise en développement et encore moins en anglais. Le mélange est explosif

    Si quelqu'un à déjà fait cela, ou sait vaguement comment faire, je suis preneur.
    Dans tous les cas, je vais essayer de le faire en m'appuyant sur les infos que j'arrive à comprendre. Je viendrais expliquer ici ce que j'ai compris.

    Merci

  2. #2
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 20
    Par défaut
    Bon,

    "l'intégration avancé" n'étant pas encore bien documenté, je vais commencer par :
    Se logger sur mon application web doit également logger l'utilisateur sur jForum

  3. #3
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 20
    Par défaut
    Bon, pour le login automatique c'est plutôt simple en fait :

    Dans notre application :
    - Il faut générer un cookie qui contient le nom de l'utilisateur. Attention au "path", le cookie doit être accessible par jForum
    o Dans mon cas jForum est MonAppli sont sur le même serveur, accessible aux url respectives (elles sont bidon ne pas essayer) de http://adresseurlbidon/MonAppli & http://adresseurlbidon/jForumWTP
    o Le cookie est placé dans : http://adresseurlbidon




    Dans la partie jForum :
    - Il faut créer un nouvelle classe qui viendra lire le cookie et renvoyer les information correspondantes.
    o Cette classe doit impérativement implémenter l'interface SSO.
    Voici le code de ma classe (le cookie s'appelle "MonAppliSSO") :
    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
     
    package net.jforum.sso;  
     
    import javax.servlet.http.Cookie;  
    import net.jforum.context.RequestContext;  
    import net.jforum.JForumExecutionContext;  
    import net.jforum.ControllerUtils;  
    import net.jforum.entities.UserSession;  
    import net.jforum.util.preferences.ConfigKeys;  
    import net.jforum.util.preferences.SystemGlobals;  
    import org.apache.log4j.Logger;  
     
    public class MonAppliSSO implements SSO {           
     
    static final Logger  logger = Logger.getLogger(MonAppliSSO .class.getName());   
     
    	public String authenticateUser(RequestContext request) {   
     
    		// sso pool apps login cookie, contain logged username  
    		Cookie myCookie = ControllerUtils.getCookie("jForumMonAppliSSO");  
     
    		String username=null;            
    		if (myCookie ==null){  
    			return null; // no cookie found  
    		}else{  
    			username=(String)myCookie.getValue();    
    			if (username.equals(""))  { 
    			}
    		}
    		return username; // jforum username  
    	}  
     
    	public boolean isSessionValid(UserSession userSession, RequestContext request) {  
    		String      remoteUser = null;  
    		Cookie SSOCookie = ControllerUtils.getCookie("jForumMonAppliSSO "); // my app login cookie  
     
    		if (SSOCookie != null) {
    			remoteUser = SSOCookie.getValue(); //  jforum username  
    		}
    		if (remoteUser == null) {  
    			return false;  
    		} else if (remoteUser.equals("")) {   
    			return false;  
     
    			// user has since logged in  
    		} else if (remoteUser != null &&   
    				userSession.getUserId() == SystemGlobals.getIntValue(ConfigKeys.ANONYMOUS_USER_ID)) {  
    			return false; 
     
    			// user has changed user  
    		} else if (remoteUser != null && !remoteUser.equals(userSession.getUsername())) {  
    			return false;  
    		}  
    		return true; // sso pool apps user and forum user the same  
    	}  
    }
    - Il faut ensuite configurer jForum pour qu'il utilise la bonne classe d'implémentation de SSO. Cela se fait dans le fichier SystemGlobals.properties
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    authentication.type = sso
    sso.implementation = net.jforum.sso.MonAppliSSO


    Tout cela est le minimum syndical : on écrit le nom de l'utilisateur dans MonAppli, il est récupéré par jForum. pas de mot de passe crypté, rien.
    jForum permet de sécuriser tout cela, je vais regarder.

    Il doit exister dans MonAppli et dans jForum les mêmes utilisateurs.

Discussions similaires

  1. Intégrer hibernate dans une appli struts
    Par mastamx dans le forum Struts 1
    Réponses: 6
    Dernier message: 23/10/2007, 14h15
  2. [Axis] Intégrer Axis dans une appli web existante
    Par klael dans le forum Services Web
    Réponses: 2
    Dernier message: 01/06/2007, 23h27
  3. [jonas/struts] RE déploiement d'une Appli
    Par ould dans le forum JOnAS
    Réponses: 4
    Dernier message: 26/03/2006, 23h16
  4. [Struts] Action au démarrage d'une appli Web
    Par javaSudOuest dans le forum Struts 1
    Réponses: 2
    Dernier message: 14/10/2005, 10h51
  5. Réponses: 6
    Dernier message: 10/08/2005, 17h28

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