Récupérer variables utilisateur et mot de passe pour connexion auto - PHP - Programmation
Marsh Posté le 13-11-2009 à 15:33:32
c'est ton apache qui doit donner les infos dans le header, via $_SERVER['REMOTE_USER'], ca se config dans le htaccess, avec Auth
y'en a plusieur
kerberos
ntmp
sspi
.....
Marsh Posté le 13-11-2009 à 15:39:31
Merci
Mais je comprends rien moi à tout ça, j'ai précisé newby
pourtant j'ai juste mis à jour les applis sur le serveur, j'ai pas touché à apache ou quoi que ce soit...
Donc d'après ma logique faut juste remettre les paramètres comme il faut dans les fichiers de conf non ?
Marsh Posté le 13-11-2009 à 15:42:09
si t'es admin systeme, tu devrai plus savoir qu'un developpeur ce que c'est qu'une SSO via active directory...
apres les infos sont faible, t'include beaucoup de fichier mais on sait pas ce qui a dedan...
Marsh Posté le 13-11-2009 à 15:49:28
moi je veux bien donner plus d'infos, mais je sais pas trop par où commencer...
le truc c'est que j'ai recup un parc où tout était déjà fait, donc je sais pas trop la manière dont ça a été mis en place... en plus j'ai été formé surtout sous windows, je maitrise pas des masses linux en plus, j'suis pas aidé !
ce que je sais c'est que l'ancien gars avec juste la modif des fichiers de connexion en php sur l'intranet sous linux arrivait à récup les variables pour se connecter automatiquement aux applis...
Je sens que je vais me pencher sur un serveur CAS moi...
Marsh Posté le 13-11-2009 à 15:54:12
action directory c'est du windows,
montre ce que t'as dans ton fichier session.inc.php
Marsh Posté le 13-11-2009 à 16:01:40
oui on est d'accord, mes appli sont sur un serveur linux et l'identification se fait via l'AD
bon les fichiers sont un peu long mais voilà l'ancien session.inc.php
Citation : function grr_opensession($_login, $_password, $_user_ext_authentifie = '', $tab_login=array()) |
et le nouveau
Citation : function grr_opensession($_login, $_password, $_user_ext_authentifie = '', $tab_login=array(), $tab_groups=array()) |
Marsh Posté le 13-11-2009 à 16:09:53
y'a que des fonction (j'ai lu vite fait)
ca me parait, beaucoup de blabla pour pas grand chose
le schema a suivre pour se genre de manip,
1. apache envoie a l'en tete le login de la personne connecté (c'est automatique ca)
2. on recuper le login via $_SERVER['REMOTER_USER']
3. on va chercher dans le LDAP qui a ce login la
4. la personne a été trouve, on peu mettre dans la session les infos venu du LDAP (nom, prenom, email......)
en 25 lignes ca peu etre baclé (bon apres dans ton code t'as un espce de log et tout mais ca c'est du bonus)
Marsh Posté le 13-11-2009 à 16:18:10
deja regarde se qu'envoi le server
un ptit fichier avec
<?php
phpinfo();
?>
regarde en bas, si t'as une donnée avec $_SERVER['REMOTE_USER']
Marsh Posté le 16-11-2009 à 13:23:43
ouai mais il faut que tu sache quelle type d'autentification est activé sur Active Directory (ntmp, kerberos....), et avoir le module assoscié a apache, apres un petit htaccess et le tour est joué
Marsh Posté le 13-11-2009 à 14:23:08
Bonjour à tous,
Bon tout d'abord je précise que je ne connais quasi rien au PHP, je ne suis pas développeur, donc ne soyez pas surpris
En fait je suis admin système dans un lycée, plusieurs applis linux sont hébergées sur notre intranet.
Les gens doivent d'abord se loguer sur l'intranet (lié à l'active directory) pour ensuite accéder aux différentes applis.
La personne qui était là avant moi avaient modifiée les fichiers de conf de ces applis pour qu'elles récupérèrent l'identifiant et le mot de passe entré sur l'intranet, comme ça pas besoin de se loguer à chaque fois.
Sauf que les applis commençaient à être bien vieilles (pas mises à jour depuis 2002).
Donc j'ai mis à jour le webmail (squirrelmail) et une appli de réservation de ressources (grr)
Et je n'arrive pas à modifier comme ils faut les fichiers pour que la connexion se fasse automatiquement, les gens doivent se loguer à chaque fois sur l'intranet puis sur chaque appli
Par exemple pour grr, voilà la partie modifiée (en gras) de l'ancien login.php (fonctionne)
*session_start();*
// Settings
require_once("./include/settings.inc.php" );
//Chargement des valeurs de la table settingS
if (!loadSettings()) die("Erreur chargement settings" );
// Paramètres langage/
include "include/language.inc.php";
// Session related functions
require_once("./include/session.inc.php" );
// Vérification du numéro de version et renvoi automatique vers la page de mise à jour/
if (verif_version()) {
header("Location: ./admin_maj.php" );
exit();
}
// User wants to be authentified
if (isset($_SESSION['userdata']['utilisateurID']) && isset($_SESSION['userdata']['pAssWOrD!'])) {
$result = grr_opensession($_SESSION['userdata']['utilisateurID'], $_POST['password']);
ET LE NOUVEAU (ne fonctionne pas)
session_start();
// Settings
require_once("./include/settings.inc.php" );
//Chargement des valeurs de la table settingS
if (!loadSettings()) die("Erreur chargement settings" );
// Paramètres langage
include "include/language.inc.php";
// Session related functions
require_once("./include/session.inc.php" );
// Vérification du numéro de version et renvoi automatique vers la page de mise à jour
if (verif_version()) {
header("Location: ./admin_maj.php" );
exit();
}
// User wants to be authentified
if (isset($_SESSION['userdata']['utilisateurID']) && isset($_SESSION['userdata']['pAssWOrD!'])) {
// Détruit toutes les variables de session au cas où une session existait auparavant
$_SESSION = array();
$result = grr_opensession($_SESSION['userdata']['utilisateurID'], $_SESSION['userdata']['pAssWOrD!']);
Si vous pouvez me guider ce serait super sympa
PS : pour squirrelmail je laisse tomber pour l'instant, avec la nouvelle version ils ont modifé la façon de se connecter donc je suis pas près d'y voir claire...
Message édité par matthiman le 13-11-2009 à 14:24:07
---------------
Ventes - Feedback