public addProvider ( $configuration = [], $name = 'default', Adldap\Connections\ConnectionInterface $connection = null, Adldap\Schemas\SchemaInterface $schema = null ) | ||
$connection | Adldap\Connections\ConnectionInterface | |
$schema | Adldap\Schemas\SchemaInterface |
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!"); }
/** * Adds providers to the specified Adldap instance. * * @param Adldap $adldap * @param array $connections * * @throws \Adldap\Auth\BindException * * @return Adldap */ protected function addProviders(Adldap $adldap, array $connections = []) { // Go through each connection and construct a Provider. collect($connections)->each(function ($settings, $name) use($adldap) { // Create a new provider. $provider = $this->newProvider($settings['connection_settings'], new $settings['connection'](), new $settings['schema']()); // Try connecting to the provider if `auto_connect` is true. if (isset($settings['auto_connect']) && $settings['auto_connect'] === true) { $provider->connect(); } // Add the provider to the Adldap container. $adldap->addProvider($provider, $name); }); return $adldap; }
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'); } }