Guest User

Untitled

a guest
Jul 28th, 2018
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. Symfony2 : Authentication with Active directory
  2. class LdapUser implements UserInterface
  3. {
  4. private $username;
  5. private $first_name;
  6. private $last_name;
  7. private $password;
  8. private $salt;
  9. private $roles;
  10.  
  11. public function __construct($username, $first_name, $last_name, $password, $salt, array $roles) {
  12. $this->username = $username;
  13. $this->first_name = $first_name;
  14. $this->last_name = $last_name;
  15. $this->password = $password;
  16. $this->salt = $salt;
  17. $this->roles = $roles;
  18. }
  19.  
  20. ...
  21.  
  22. }
  23.  
  24. public function loadUserByUsername($username)
  25. {
  26.  
  27. $server = "my_ldap_server";
  28. $root_dn = "my_root_dn";
  29. $root_pw = "my_root_pw";
  30.  
  31. $ds = ldap_connect($server);
  32. if ($ds) {
  33.  
  34. ldap_bind($ds, $root_dn, $root_pw);
  35. $search = ldap_search($ds, "my_branch", "(sAMAccountName=".$username.")", array("sn", "givenName"));
  36. $info = ldap_get_entries($ds, $sr);
  37.  
  38. if($info['count'] > 0) {
  39. $user = $info[0];
  40. return new LdapUser($username, $user['givenName'][0], $user['sn'][0], '???PASSWORD???', '???SALT???', array('ROLE_USER'));
  41. } else {
  42. throw new UsernameNotFoundException(sprintf('Username "%s" does not exist.', $username));
  43. }
  44.  
  45. ldap_close($ds);
  46. } else {
  47. echo "Connexion au serveur LDAP impossible";
  48. }
  49. }
Add Comment
Please, Sign In to add comment