コード例 #1
0
ファイル: aduserModel.php プロジェクト: nephie/AZL-website
 public function auth($username, $password)
 {
     require FRAMEWORK . DS . 'conf' . DS . 'datastore.php';
     $config = $datastore[$this->datastore];
     $con = @ldap_connect($config['protocol'] . $config['domain']);
     if (!$con) {
         throw new connectException('Could not connect to the Active Directory.');
     }
     ldap_set_option($con, LDAP_OPT_REFERRALS, 0);
     ldap_set_option($con, LDAP_OPT_PROTOCOL_VERSION, 3);
     if (!@ldap_bind($con, $username . '@' . $config['domain'], $password)) {
         $config2 = $datastore[$this->datastore2];
         $con2 = @ldap_connect($config2['protocol'] . $config2['domain']);
         ldap_set_option($con2, LDAP_OPT_REFERRALS, 0);
         ldap_set_option($con2, LDAP_OPT_PROTOCOL_VERSION, 3);
         if (!$con2) {
             throw new connectException('Could not connect to the Active Directory.');
         }
         if (!@ldap_bind($con2, $username . '@' . $config2['domain'], $password)) {
             return false;
         } else {
             $model = new userModel();
             $users = $model->getfromUsername($username);
             if (count($users) == 1) {
                 return $users[0];
             } else {
                 return false;
             }
         }
     } else {
         $model = new userModel();
         $users = $model->getfromUsername($username);
         if (count($users) == 1) {
             return $users[0];
         } else {
             return false;
         }
     }
 }
コード例 #2
0
ファイル: myauth.php プロジェクト: nephie/AZL-website
 public static function getCurrentuser()
 {
     require FRAMEWORK . DS . 'conf' . DS . 'auth.php';
     if (!self::$currentuser instanceof userObject) {
         if (isset($_COOKIE['userid']) && isset($_COOKIE['challenge'])) {
             $loginModel = new loginModel();
             $useridCond['userid'] = array('mode' => '=', 'value' => $_COOKIE['userid']);
             $challengeCond['challenge'] = array('mode' => '=', 'value' => $_COOKIE['challenge']);
             $cond['AND'] = array($useridCond, $challengeCond);
             $logins = $loginModel->get($cond);
             //	This should give us 1 hit
             if (count($logins) == 1) {
                 $userid = $_COOKIE['userid'];
                 $model = new userModel();
                 $tmp = $model->getfromId($userid);
             } else {
                 $userid = $defaultUserid;
                 $model = new userModel(1);
                 $tmp = $model->getfromId($userid);
             }
         } elseif ($_SERVER['REMOTE_USER'] != '' && !isset($_COOKIE['noremoteuser'])) {
             $cred = explode('\\', $_SERVER['REMOTE_USER']);
             if (count($cred) == 2) {
                 list($domainpart, $user) = $cred;
             } else {
                 $user = $cred;
             }
             $model = new userModel();
             $tmp = $model->getfromUsername(addslashes($user));
             if (count($tmp) == 1) {
                 $userid = $tmp[0]->getId();
             } else {
                 $userid = $defaultUserid;
                 $tmp = $model->getfromId($userid);
             }
         } else {
             $userid = $defaultUserid;
             $model = new userModel(1);
             $tmp = $model->getfromId($userid);
         }
         if (count($tmp) != 1) {
             throw new Exception('user could not be retrieved');
         }
         self::$currentuser = $tmp[0];
     }
     /*
     
     		if(! (self::$currentuser instanceof userObject ) ){
     			$user = new userObject();
     
     			$user->setId('c5c1c65fd9d4144aafb6fe15abc7f366');
     			$user->setName('Tim D\'Hooge - FAKE');
     			$user->setUsername('tim.dhooge');
     			$user->setDescription('');
     			$user->setMail('');
     			$user->setMemberof(array('CN=dienst_informatica,OU=Diensten,OU=Groepen,DC=stadskliniek,DC=lokeren,DC=be'));
     			$user->setGroupid(array('799045fc4d2cee4090c2c5fb5a121942'));
     
     			self::$currentuser = $user;
     		}
     */
     $_SESSION['authenticated_user'] = self::$currentuser->getName();
     return self::$currentuser;
 }