mirror of
https://github.com/mailcow/mailcow-dockerized.git
synced 2025-12-23 23:01:34 +00:00
[Web] Ensure correct SOGo SSO password is used after Dovecot restart
This commit is contained in:
@@ -47,13 +47,10 @@ elseif (isset($_GET['login'])) {
|
|||||||
(($_SESSION['acl']['login_as'] == "1" && $ALLOW_ADMIN_EMAIL_LOGIN !== 0) || ($is_dual === false && $login == $_SESSION['mailcow_cc_username']))) {
|
(($_SESSION['acl']['login_as'] == "1" && $ALLOW_ADMIN_EMAIL_LOGIN !== 0) || ($is_dual === false && $login == $_SESSION['mailcow_cc_username']))) {
|
||||||
if (filter_var($login, FILTER_VALIDATE_EMAIL)) {
|
if (filter_var($login, FILTER_VALIDATE_EMAIL)) {
|
||||||
if (user_get_alias_details($login) !== false) {
|
if (user_get_alias_details($login) !== false) {
|
||||||
// load master password
|
// register username in session
|
||||||
$sogo_sso_pass = file_get_contents("/etc/sogo-sso/sogo-sso.pass");
|
|
||||||
// register username and password in session
|
|
||||||
$_SESSION[$session_var_user_allowed][] = $login;
|
$_SESSION[$session_var_user_allowed][] = $login;
|
||||||
$_SESSION[$session_var_pass] = $sogo_sso_pass;
|
|
||||||
// set dual login
|
// set dual login
|
||||||
if ($_SESSION['acl']['login_as'] == "1" && $ALLOW_ADMIN_EMAIL_LOGIN !== 0 && $is_dual === false && $_SESSION['mailcow_cc_role'] != "user"){
|
if ($_SESSION['acl']['login_as'] == "1" && $ALLOW_ADMIN_EMAIL_LOGIN !== 0 && $is_dual === false && $_SESSION['mailcow_cc_role'] != "user"){
|
||||||
$_SESSION["dual-login"]["username"] = $_SESSION['mailcow_cc_username'];
|
$_SESSION["dual-login"]["username"] = $_SESSION['mailcow_cc_username'];
|
||||||
$_SESSION["dual-login"]["role"] = $_SESSION['mailcow_cc_role'];
|
$_SESSION["dual-login"]["role"] = $_SESSION['mailcow_cc_role'];
|
||||||
$_SESSION['mailcow_cc_username'] = $login;
|
$_SESSION['mailcow_cc_username'] = $login;
|
||||||
@@ -95,7 +92,7 @@ elseif (isset($_SERVER['HTTP_X_ORIGINAL_URI']) && strcasecmp(substr($_SERVER['HT
|
|||||||
in_array($email, $_SESSION[$session_var_user_allowed])
|
in_array($email, $_SESSION[$session_var_user_allowed])
|
||||||
) {
|
) {
|
||||||
$username = $email;
|
$username = $email;
|
||||||
$password = $_SESSION[$session_var_pass];
|
$password = file_get_contents("/etc/sogo-sso/sogo-sso.pass");
|
||||||
header("X-User: $username");
|
header("X-User: $username");
|
||||||
header("X-Auth: Basic ".base64_encode("$username:$password"));
|
header("X-Auth: Basic ".base64_encode("$username:$password"));
|
||||||
header("X-Auth-Type: Basic");
|
header("X-Auth-Type: Basic");
|
||||||
|
|||||||
Reference in New Issue
Block a user