Laravel 5

Authentification & LDAP/AD [Laravel 5.2; PHP 7.1.0; Collective; Materialize]

  • Avatar de MakoubaSetho
    Membre depuis :
    16/10/2017
    Messages :
    13

    Bonjour,
    J'ai de grosses difficultées à comprendre certaines choses dans l'Authentification et j'aurais besoin d'un coups d'main ^^", surtout pour établir une co' basée sur un AD (ActiveDirectory).

    Je précise avoir de fortes lacunes en réseau & systèmes, c'est donc avant tout la partie config' et compréhension de l'AD qui me fait défaut...

    J'ai deux besoins distincts sur lesquels je n'arrive à rien.

    Le premier : Sur la configuration AD ...
    J'aimerais établir une co' LDAP entre un de mes Projet Laravel 5.2 et un AD, et ce afin de nourrir ma table Users avec tous les Utilisateurs du Domaine ! (Le site et l'AD seront bien hébérgés sur le même domain)
    Je trouve bien le Package "adldap2" pour Laravel mais je n'y comprends pas grand chose.
    Surtout en configuration ô_o.

    Le Fichier config/apdldap.php doit définir la connexion à l'AD.
    Imaginons que j'ai un server AD, dont le nom est "TEST-VEHI-DC01" (il à un réplicat 02).
    Le Domain, c'est VEHI.PROD.MKB, tout comme la forêt de l'AD dans laquelle j'ai moult sous-dossiers, O-U et Users.

    J'en reviens au Fichier config/adpldap donc :

    Il contient les paramètres de connexion dont, "account_prefix" & "account_suffix".
    Que définissent-ils ?

    Le préfixe, c'est le "nom d'ouverture de session de l'utilisateur, antérieur à Windows 2000" ? Ici donc, "VEHI\" ?

    Et donc qu'est-ce que le suffixe ? C'est "@VEHI.PROD.MKB" qui suit le nom d'ouverture de session classique ?

    Le paramètre
    'domain_controllers' => explode(' ', env('ADLDAP_CONTROLLERS', 'corp-dc1.corp.acme.org corp-dc2.corp.acme.org')),
    Dans mon cas, doit donc être à :
    'domain_controllers' => explode(' ', env('ADLDAP_CONTROLLERS', 'TEST-VEHI-DC01.VEHI.PROD.MKB TEST-VEHI-DC02.VEHI.PROD.MKB')),
    Non ?

    Encore une chose,
    'base_dn' => env('ADLDAP_BASEDN', 'dc=corp,dc=acme,dc=org'),
    Dans mon cas ç'est :
    'base_dn' => env('ADLDAP_BASEDN', 'dc=VEHI,dc=PROD,dc=MKB'), ?

    Je renseigne tous ces champs comme ma logique me le dicte (les majuscules sont importantes ?),
    J'inscrit du même coups un jolis :

    'admin_username' => env('ADLDAP_ADMIN_USERNAME', 'joel.dupont'),
    'admin_password' => env('ADLDAP_ADMIN_PASSWORD', 'MDP_SEUCRET'),

    Avec le compte d'un Utilisateur Administrateur du Domaine, et les mêmes Suffixes/Préfixes qu'un Utilisateur...

    Mais à l'affichage d'une page avec le résultat d'un :
    $userAD = Adldap::search()->users()->find('alfred dupond');
    ->
    <h5>{{$userAD}}</h5>
    Alfred Dupond existant dans mon AD, la page m'affiche une erreur "Can't contact LDAP Server"...

    Là desssus .... Je ne vois pas tellement comment "Nourir" ma BDD de tous les Utilisateurs de l'AD .. ?
    Je tiens à cette configuration car ma table Users contient aussi des Rôles, des Documents persos, ...
    Je ne peux pas juste rebalancer ma connexion sur l'AD en mode "Si cet Utilisateur existe, se connecter".
    Et comment la connexion fait-elle le tris dans les dossiers, sous-dossiers et les OU .. ?
    ................
    Secondement : Sur l'Authentification ...
    J'aimerais établir une connexion (toujours basée sur mon AD) pouvant accepter tant l'email que le mot de passe. (Et pourquoi pas même, juste le nom de famille (avec mdp)).
    Je vois bien une telle méthode dans le Tuto Sillo de BestMomo mais je ne la comprends pas totalement, je me perds dans les outils gréffés autours tels que la redirection et les vérif' et je ne parviens pas à la réduire à mes besoins.

    D'avance merci et mes excuses pour ce long pavé (Et pour publier 2 problèmes en 1) =)

Vous ne pouvez pas répondre à ce sujet.