Merge pull request #6693 from owncloud/fixing-apache-login
Fixing apache login
This commit is contained in:
commit
e0dbc1b67e
|
@ -544,12 +544,12 @@ class OC {
|
||||||
OC_User::useBackend(new OC_User_Database());
|
OC_User::useBackend(new OC_User_Database());
|
||||||
OC_Group::useBackend(new OC_Group_Database());
|
OC_Group::useBackend(new OC_Group_Database());
|
||||||
|
|
||||||
if (isset($_SERVER['PHP_AUTH_USER']) && self::$session->exists('user_id')
|
if (isset($_SERVER['PHP_AUTH_USER']) && self::$session->exists('loginname')
|
||||||
&& $_SERVER['PHP_AUTH_USER'] !== self::$session->get('loginname')) {
|
&& $_SERVER['PHP_AUTH_USER'] !== self::$session->get('loginname')) {
|
||||||
$sessionUser = self::$session->get('loginname');
|
$sessionUser = self::$session->get('loginname');
|
||||||
$serverUser = $_SERVER['PHP_AUTH_USER'];
|
$serverUser = $_SERVER['PHP_AUTH_USER'];
|
||||||
OC_Log::write('core',
|
OC_Log::write('core',
|
||||||
"Session user-id ($sessionUser) doesn't match SERVER[PHP_AUTH_USER] ($serverUser).",
|
"Session loginname ($sessionUser) doesn't match SERVER[PHP_AUTH_USER] ($serverUser).",
|
||||||
OC_Log::WARN);
|
OC_Log::WARN);
|
||||||
OC_User::logout();
|
OC_User::logout();
|
||||||
}
|
}
|
||||||
|
|
|
@ -246,6 +246,8 @@ class OC_User {
|
||||||
session_regenerate_id(true);
|
session_regenerate_id(true);
|
||||||
self::setUserId($uid);
|
self::setUserId($uid);
|
||||||
self::setDisplayName($uid);
|
self::setDisplayName($uid);
|
||||||
|
self::getUserSession()->setLoginName($uid);
|
||||||
|
|
||||||
OC_Hook::emit( "OC_User", "post_login", array( "uid" => $uid, 'password'=>'' ));
|
OC_Hook::emit( "OC_User", "post_login", array( "uid" => $uid, 'password'=>'' ));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -115,13 +115,13 @@ class Session implements Emitter, \OCP\IUserSession {
|
||||||
/**
|
/**
|
||||||
* set the login name
|
* set the login name
|
||||||
*
|
*
|
||||||
* @param string login name for the logged in user
|
* @param string $loginName for the logged in user
|
||||||
*/
|
*/
|
||||||
public function setLoginname($loginname) {
|
public function setLoginName($loginName) {
|
||||||
if (is_null($loginname)) {
|
if (is_null($loginName)) {
|
||||||
$this->session->remove('loginname');
|
$this->session->remove('loginname');
|
||||||
} else {
|
} else {
|
||||||
$this->session->set('loginname', $loginname);
|
$this->session->set('loginname', $loginName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -130,7 +130,7 @@ class Session implements Emitter, \OCP\IUserSession {
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function getLoginname() {
|
public function getLoginName() {
|
||||||
if ($this->activeUser) {
|
if ($this->activeUser) {
|
||||||
return $this->session->get('loginname');
|
return $this->session->get('loginname');
|
||||||
} else {
|
} else {
|
||||||
|
@ -158,7 +158,7 @@ class Session implements Emitter, \OCP\IUserSession {
|
||||||
if (!is_null($user)) {
|
if (!is_null($user)) {
|
||||||
if ($user->isEnabled()) {
|
if ($user->isEnabled()) {
|
||||||
$this->setUser($user);
|
$this->setUser($user);
|
||||||
$this->setLoginname($uid);
|
$this->setLoginName($uid);
|
||||||
$this->manager->emit('\OC\User', 'postLogin', array($user, $password));
|
$this->manager->emit('\OC\User', 'postLogin', array($user, $password));
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
|
@ -176,7 +176,7 @@ class Session implements Emitter, \OCP\IUserSession {
|
||||||
public function logout() {
|
public function logout() {
|
||||||
$this->manager->emit('\OC\User', 'logout');
|
$this->manager->emit('\OC\User', 'logout');
|
||||||
$this->setUser(null);
|
$this->setUser(null);
|
||||||
$this->setLoginname(null);
|
$this->setLoginName(null);
|
||||||
$this->unsetMagicInCookie();
|
$this->unsetMagicInCookie();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue