public static function createConnection(array $config) { $ad = new Adldap(); $ad->addProvider('default', new Provider($config)); $ad->connect('default'); return $ad; }
/** * Execute the console command. * * @return mixed */ public function handle() { $ad = new Adldap(); $provider = new Provider(config('adldap.proto')); $ad->addProvider('proto', $provider); $ad->connect('proto'); $this->info("Connected to LDAP server."); $this->info("Synchronizing users to LDAP."); $this->syncUsers($provider); $this->info("Synchronizing committees to LDAP."); $this->syncCommittees($provider); $this->info("Synchronizing committees members to LDAP."); $this->syncCommitteeMembers($provider); $this->info("Done!"); }
public function setPassword($password) { // Update Laravel Password $this->password = Hash::make($password); $this->save(); // Update Active Directory Password $ad = new Adldap(); $provider = new Provider(config('adldap.proto')); $ad->addProvider('proto', $provider); $ad->connect('proto'); $ldapuser = $provider->search()->where('objectClass', 'user')->where('description', $this->id)->first(); if ($ldapuser !== null) { $ldapuser->setPassword($password); if ($this->member) { $ldapuser->setUserAccountControl(AccountControl::NORMAL_ACCOUNT); } $ldapuser->save(); } }
public function postRegister(Request $request) { if (Auth::check()) { $request->session()->flash('flash_message', 'You already have an account. To register an account, please log off.'); return Redirect::route('user::dashboard'); } $request->session()->flash('register_persist', $request->all()); $this->validate($request, ['email' => 'required|email|unique:users', 'name' => 'required|string', 'calling_name' => 'required|string', 'birthdate' => 'required|date_format:Y-m-d', 'gender' => 'required|in:1,2,9', 'nationality' => 'required|string', 'phone' => 'required|regex:(\\+[0-9]{8,16})', 'g-recaptcha-response' => 'required|recaptcha']); $user = User::create($request->except('g-recaptcha-response')); if (Session::get('wizard')) { $user->wizard = true; } $user->save(); /** Add user to LDAP */ $ad = new Adldap(); $provider = new Provider(config('adldap.proto')); $ad->addProvider('proto', $provider); $ad->connect('proto'); $ldapuser = $provider->make()->user(); $ldapuser->cn = "user-" . $user->id; $ldapuser->description = $user->id; $ldapuser->save(); /** End add user to LDAP */ $email = $user->email; $name = $user->mail; Mail::queue('emails.registration', ['user' => $user], function ($m) use($email, $name) { $m->replyTo('*****@*****.**', 'Study Association Proto'); $m->to($email, $name); $m->subject('Account registration at Study Association Proto'); }); AuthController::dispatchPasswordEmailFor($user); if (!Auth::check()) { $request->session()->flash('flash_message', 'Your account has been created. You will receive an e-mail with instructions on how to set your password shortly.'); return Redirect::route('homepage'); } }