Esempio n. 1
0
 public function login()
 {
     if (!$this->isLoggedIn()) {
         $user = $this->kt->get_user_object_by_username($this->request['auth']['user']);
         if (!PEAR::isError($user)) {
             $pass = $user->getPassword();
             $passHash = md5($pass . $this->token);
             //$this->request['auth']['passhash']=md5(md5($this->request['auth']['pass']).$this->token);
             $this->setDebug('Expected passHash', $passHash);
             $this->setDebug('Serverside Token', $this->token);
             $this->setDebug('Expected Password', $pass);
             if ($passHash == $this->request['auth']['passhash']) {
                 $uSession = KTAPI_UserSession::_check_session($user, null, $this->request['auth']['appType']);
                 $this->response['debug']['pass_confirmed_sess_detail'] = $uSession;
                 if (!PEAR::isError($uSession)) {
                     $this->session =& new KTAPI_UserSession($this->kt, $user, $uSession[0], $uSession[1], NULL);
                     $this->session = $this->kt->get_active_session($session_id, null, $application);
                     $this->session_id = $uSession[0];
                     $this->response['debug']['session'] = $this->session;
                     $this->response['status']['session_id'] = $uSession[0];
                     $this->response['debug']['isLoggedIn'] = $this->isLoggedIn() ? 'True' : 'False';
                     $this->kt = new KTAPI();
                 } else {
                     //handle the session error
                 }
             }
         }
         $this->response['debug']['isLoggedIn2'] = $this->isLoggedIn() ? 'True' : 'False';
     }
     return $this->isLoggedIn();
 }
Esempio n. 2
0
 protected function creatNewSession()
 {
     $this->ret->addDebug('Auth', array('Attempting to Create a New Session'));
     if ($this->checkCredentials()) {
         $ssession = KTAPI_UserSession::_check_session($this->getUserObject(), $this->remoteIp, $this->auth['appType']);
         $session = $ssession[0];
         $this->ret->addDebug('####################################Session Created : ' . $session);
         $this->auth['session'] = session_id();
         $this->ret->setStatus('session_id', session_id());
         return true;
     } else {
         return false;
     }
 }
 /**
  * Creates a session for an anonymous user
  *
  * @author KnowledgeTree Team
  * @access public
  * @param KTAPI $ktapi Instance of the KTAPI object
  * @param string $ip The users ip address
  * @param string $app Optional. The originating application type - Default is ws => webservices | webapp => The web application
  * @return KTAPI_Session|PEAR_Error Returns a session object | a PEAR_Error on failure
  */
 function &start_session(&$ktapi, $ip = null, $app = 'ws')
 {
     $user =& User::get(-2);
     if (is_null($user) || PEAR::isError($user) || $user === false || !$user->isAnonymous()) {
         return new KTAPI_Error(_kt("The anonymous user could not be found."), $user);
     }
     $authenticated = true;
     $config =& KTConfig::getSingleton();
     $allow_anonymous = $config->get('session/allowAnonymousLogin', false);
     if (!$allow_anonymous) {
         return new PEAR_Error(_kt('Anonymous user not allowed'));
     }
     if (is_null($ip)) {
         $ip = '127.0.0.1';
         //$ip = KTAPI_Session::resolveIP();
     }
     list($session, $sessionid) = KTAPI_UserSession::_check_session($user, $ip, $app);
     if (PEAR::isError($sessionid)) {
         return $sessionid;
     }
     $session =& new KTAPI_AnonymousSession($ktapi, $user, $session, $sessionid, $ip);
     return $session;
 }
Esempio n. 4
0
 /**
  * Creates a session and returns the session object based on authentication credentials.
  *
  * @author KnowledgeTree Team
  * @access public
  * @param string $username The users username
  * @param string $password The password of the user
  * @param string $ip The users ip address
  * @param string $app The originating application type Webservices|Webdav|Webapp
  * @return object $session SUCCESS - The KTAPI_Session object | FAILURE - an error object
  */
 public function &start_session($username, $password, $ip = null, $app = 'ws')
 {
     if (!is_null($this->session)) {
         $error = new PEAR_Error('A session is currently active.');
         return $error;
     }
     $session =& KTAPI_UserSession::start_session($this, $username, $password, $ip, $app);
     if (is_null($session)) {
         $error = new PEAR_Error('Session is null.');
         return $error;
     }
     if (PEAR::isError($session)) {
         $error = new PEAR_Error('Session is invalid. ' . $session->getMessage());
         return $error;
     }
     $this->session =& $session;
     return $session;
 }