Page 1 of 1

connexion depuis une page externe

Posted: Tue May 15, 2007 2:57 pm
by bertrandP
Bonjour à tous,

nouveau sous joomla, je développe un site de gestion documentaire. J'aimerais savoir comment faire pour se connecter dans joomla depuis une page externe ; concrètement, depuis la page d'accueil du portail, afin que les utilisateurs n'aient pas à se logger une nouvelle fois.

L'utilisateur se loggerai alors sur la page d'acueil puis lorsqu'il arrive dans joomla, il y est déjà enregistré (avec le même login/pwd bien sur) et accède directement au contenu qui le concerne.

Est-ce possible ? Comment faire ?

Merci d'avance

Re: connexion depuis une page externe

Posted: Tue May 15, 2007 7:04 pm
by ouly
Bonjour bertrandP,
Depuis les dernières versions de Joomla!, il ne suffit plus simplement de créer un formulaire. Un contrôle anti-usurpation a été introduit. Il est donc nécessaire d'inclure une partie du framework Joomla! pour pouvoir générer une valeur de contrôle qui sera acceptée lors de la connexion.

Une option qui peut être intéressante est de piloter Joomla! en émulant une requête d'un visiteur. Il faut pour cela créer un composant qui générera le formulaire de connexion et inclure le fichier index2.php du frontend de Joomla! en affectant quelques valeurs précises à des items des variables $_GET et $_REQUEST (option, no_html principalement). Lors de l'inclusion, Joomla! va donc sortir le code HTML généré par le composant sans template (si no_html a bien été affecté avec une valeur non vide).

Si vous avez dans votre site documentaire une bonne séparation entre le contrôleur et la vue, l'inclusion du composant J! ne devrait pas trop poser de problèmes. Attention toutefois, vous risquez d'avoir des variables écrasées par Joomla!.

Ouly

Re: connexion depuis une page externe

Posted: Tue May 15, 2007 7:20 pm
by ouly
Je crois me souvenir que les lignes :

Code: Select all

require( 'globals.php' );
require_once( 'configuration.php' );

// SSL check - $http_host returns <live site url>:<port number if it is 443>
$http_host = explode(':', $_SERVER['HTTP_HOST'] );
if( (!empty( $_SERVER['HTTPS'] ) && strtolower( $_SERVER['HTTPS'] ) != 'off' || isset( $http_host[1] ) && $http_host[1] == 443) && substr( $mosConfig_live_site, 0, 8 ) != 'https://' ) {
	$mosConfig_live_site = 'https://'.substr( $mosConfig_live_site, 7 );
}

require_once( 'includes/joomla.php' );
du fichier index2.php nécessitent une certaine adaptation (ajouter dirname( __FILE__ ) . '/' avant le nom des scripts inclus) pour que cela fonctionne...  :-\

Re: connexion depuis une page externe

Posted: Wed May 16, 2007 7:01 am
by bertrandP
Merci baucoup, je vais essayer ça. Je vous tiendrai au courant.

cordialement

Re: connexion depuis une page externe

Posted: Tue Jun 26, 2007 8:19 am
by email4myself
Salut bertrandP,

Où en est ta tentative de connexion à Joomla depuis l'extérieur? Je cherche à faire la même chose et j'ai pas trouvé grand chose sur les forums.

Merci

Re: connexion depuis une page externe

Posted: Tue Jun 26, 2007 8:58 am
by bertrandP
hum... j'ai dégradé le cahier des charges pour m'en passer. Comme je n'ai déporté en dehors de Joomla que la page d'accueil du site, ce n'était pas très important.

J'ai eu l'impression que ca demanderait trop de hack pour mes faibles capacités de codeur.

désolé. Et bon courage

Re: connexion depuis une page externe

Posted: Fri Apr 10, 2009 10:17 am
by nina599
ouly wrote:Je crois me souvenir que les lignes :

Code: Select all

require( 'globals.php' );
require_once( 'configuration.php' );

// SSL check - $http_host returns <live site url>:<port number if it is 443>
$http_host = explode(':', $_SERVER['HTTP_HOST'] );
if( (!empty( $_SERVER['HTTPS'] ) && strtolower( $_SERVER['HTTPS'] ) != 'off' || isset( $http_host[1] ) && $http_host[1] == 443) && substr( $mosConfig_live_site, 0, 8 ) != 'https://' ) {
	$mosConfig_live_site = 'https://'.substr( $mosConfig_live_site, 7 );
}

require_once( 'includes/joomla.php' );
du fichier index2.php nécessitent une certaine adaptation (ajouter dirname( __FILE__ ) . '/' avant le nom des scripts inclus) pour que cela fonctionne...  :-\
bonjour
ouly a donné une solution qui marche pour joomla 1.0
je voudrais savoir si quelqu'un peut me renseigner dans le cas où je voudrais appeler le framework joomla 1.5 pour utiliser la classe JFactory et récupérer les données de l'utilisateur connecté( son email éventuellement)
Merci par avance

Re: connexion depuis une page externe

Posted: Fri Apr 10, 2009 2:30 pm
by papermilk
Tu aurais peut être dû créer un nouveau topic, parce que là c'est un gros up !