コード例 #1
0
ファイル: commsy.php プロジェクト: a2call/commsy
         //    		$mailKey = $shibboleth_auth->getShibbolethEmail();
         //    		$commonNameKey = $shibboleth_auth->getShibbolethFirstname();
         //    		$sureNameKey = $shibboleth_auth->getShibbolethLastname();
     }
     if ($_SERVER[$uidKey] != $session->getValue('user_id') or $_SERVER['Shib-Session-ID'] != $session->getSessionID()) {
         $session->reset();
         $session->setSessionID($_SERVER['Shib-Session-ID']);
         $session->setValue('user_id', $_SERVER[$uidKey]);
         $session->setValue('shibboleth_auth', '1');
         $session->setValue('commsy_id', $environment->getCurrentPortalItem()->getItemID());
         //    		$session->setSessionID($_SERVER['Shib-Session-ID']);
         $environment->setSessionItem($session);
         $SID = $session->getSessionID();
         $user_manager = $environment->getUserManager();
         $user_item = $user_manager->getItemByUserIDAuthSourceID($_SERVER[$uidKey], $shib_auth_source_id);
         $environment->setCurrentUser($user_item);
         $session_manager->save($session);
     } else {
         // User has a session and is authenticated by shibboleth
         $user_manager = $environment->getUserManager();
         $user_item = $user_manager->getItemByUserIDAuthSourceID($_SERVER[$uidKey], $shib_auth_source_id);
         $environment->setCurrentUser($user_item);
     }
 } else {
     // Shibboleth Session is empty (session timeout from sp)
     // reset session and login as guest
     if (!empty($session)) {
         if ($session->getValue('shibboleth_auth')) {
             $session->reset();
             $session->createSessionID('guest');
         }