diff options
Diffstat (limited to 'framework/Security')
-rw-r--r-- | framework/Security/TAuthManager.php | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/framework/Security/TAuthManager.php b/framework/Security/TAuthManager.php index 03f011c6..eab82e56 100644 --- a/framework/Security/TAuthManager.php +++ b/framework/Security/TAuthManager.php @@ -337,6 +337,21 @@ class TAuthManager extends TModule }
/**
+ * Switches to a new user.
+ * This method will logout the current user first and login with a new one (without password.)
+ * @param string the new username
+ * @return boolean if the switch is successful
+ */
+ public function switchUser($username)
+ {
+ if(($user=$this->_userManager->getUser($username))===null)
+ return false;
+ $this->updateSessionUser($user);
+ $this->getApplication()->setUser($user);
+ return true;
+ }
+
+ /**
* Logs in a user with username and password.
* The username and password will be used to validate if login is successful.
* If yes, a user object will be created for the application.
|