SSO en local pour test - PHP - Programmation
Marsh Posté le 15-05-2014 à 14:13:58
Ben pourquoi tu t'installes pas un petit LDAP en local avec qq entrées ? Sinon, si ton PC sur lequel t'as installé wampserver est raccordé à l'intranet de l'entreprise, tu peux te connecter direct au LDAP de l'entreprise
Marsh Posté le 16-05-2014 à 13:31:54
Un serveur du style OpenLDAP?
Je ne suis pas relié a l`intranet, je suis vraiment en local
Marsh Posté le 16-05-2014 à 13:53:25
Ben du coup, tu te mets un serveur LDAP en local sur ta machine de test. Moi, je m'étais bien installé un serveur SMTP/POP3 pour les tests de mes applis
Après, tu peux te faire un "simulateur" qui répond aux qq requêtes LDAP que tu fais dans ton appli et qui simule le comportement d'un vrai serveur LDAP. Mais c'est peut être plus compliqué à faire que d'installer un LDAP avec qq entrées...
Marsh Posté le 21-05-2014 à 10:34:52
Merci de ton aide, mais j'ai encore besoin de toi...!
je me suis fait mon serveur ldap, tout marche bien, pas de probleme lors du login, mais sur ma page d'authentification j'ai un nom de domaine a choisir :
je voudrais qu'il n'apparaisse pas (car le client ne saura pas sur quel domaine il est enregistré) et que lors de l'authentification j'ai une fonction qui va directement voir a quel domaine le client appartient
Je pensais a quelque chose du genre : (mais je ne vois pas comment cacher les options de domaine au client)
if ( !$domain ) {
$domain = $this->getDomain();
}
switch ( $preference ) {
case 'ServerNames':
global $wgLDAPServerNames;
return self::setOrDefault( $wgLDAPServerNames, $domain );
case 'EncryptionType':
global $wgLDAPEncryptionType;
return self::setOrDefault( $wgLDAPEncryptionType, $domain, 'tls' );
case 'Options':
global $wgLDAPOptions;
return self::setOrDefault( $wgLDAPOptions, $domain, array() );
case 'Port':
global $wgLDAPPort;
if ( isset( $wgLDAPPort[$domain] ) ) {
$this->printDebug( "Using non-standard port: " . $wgLDAPPort[$domain], SENSITIVE );
return (string)$wgLDAPPort[$domain];
} elseif ( $this->getConf( 'EncryptionType' ) == 'ssl' ) {
return "636";
} else {
return "389";
}
Marsh Posté le 21-05-2014 à 10:54:28
Tu parles de la page d'auth du LDAP ? Si oui, tu t'en fiches puisque c'est ton appli qui se connectera à LDAP en direct, sans passer par l'IHM. Docn suffit de paramétrer ton script php pour se connecter, c'est tout...
Marsh Posté le 21-05-2014 à 14:00:34
Ma question etait vraiment bête, j'ai trouvé juste après te l'avoir posé...
En tout cas merci de ton aide et de ton temps!
Marsh Posté le 21-05-2014 à 14:48:57
Pas de quoi
Marsh Posté le 15-05-2014 à 11:09:43
Salut a tous !
Voila je suis en train de créer un Wiki d'entreprise, et je voudrais y mettre un SSO pour l'authentification (afin d'unifier plus tard avec la base de données clients),
Seulement je voudrais que ce soit d'abord en local pour faire des tests et le montrer a mes boss
Pour le moment je simule avec WampServer (localhost:80)
Voici la partie du code que je dois customiser (Par quoi remplacer ldap.example.com pour simuler en local ?):
$wgAuth = new LdapAuthenticationPlugin();
$wgLDAPDomainNames = array(
'openldap_example_com',
);
$wgLDAPServerNames = array(
'openldap_example_com' => 'ldap.example.com',
);
$wgLDAPUseLocal = false;
$wgLDAPEncryptionType = array(
'openldap_example_com' => 'tls',
);
$wgLDAPPort = array(
'openldap_example_com' => 389,
);
$wgLDAPProxyAgent = array(
'openldap_example_com' => 'cn=readonly,dc=example,dc=com',
);
$wgLDAPProxyAgentPassword = array(
'openldap_example_com' => '*****',
);
$wgLDAPSearchAttributes = array(
'openldap_example_com' => 'uid'
);
$wgLDAPBaseDNs = array(
'openldap_example_com' => 'dc=example,dc=com',
);
# To pull e-mail address from LDAP
$wgLDAPPreferences = array(
'openldap_example_com' => array( 'email' => 'mail')
);
# Group based restriction
$wgLDAPGroupUseFullDN = array( "openldap_example_com"=>false );
$wgLDAPGroupObjectclass = array( "openldap_example_com"=>"posixgroup" );
$wgLDAPGroupAttribute = array( "openldap_example_com"=>"memberuid" );
$wgLDAPGroupSearchNestedGroups = array( "openldap_example_com"=>false );
$wgLDAPGroupNameAttribute = array( "openldap_example_com"=>"cn" );
$wgLDAPRequiredGroups = array( "openldap_example_com"=>array("cn=ldapwiki,ou=groups,dc=example,dc=com" ));
$wgLDAPLowerCaseUsername = array(
'openldap_example_com' => true,
);
Merci d'avance les amis