mirror of
https://github.com/itflow-org/itflow
synced 2026-03-20 20:54:50 +00:00
Fix user role and other definitions
This commit is contained in:
12
login.php
12
login.php
@@ -111,6 +111,9 @@ if (isset($_POST['login'])) {
|
|||||||
$user_email = sanitizeInput($row['user_email']);
|
$user_email = sanitizeInput($row['user_email']);
|
||||||
$token = sanitizeInput($row['user_token']);
|
$token = sanitizeInput($row['user_token']);
|
||||||
$force_mfa = intval($row['user_config_force_mfa']);
|
$force_mfa = intval($row['user_config_force_mfa']);
|
||||||
|
$user_role = intval($row['user_role']);
|
||||||
|
$user_encryption_ciphertext = $row['user_specific_encryption_ciphertext'];
|
||||||
|
$user_extension_key = $row['user_extension_key'];
|
||||||
if($force_mfa == 1 && $token == NULL) {
|
if($force_mfa == 1 && $token == NULL) {
|
||||||
$config_start_page = "user_security.php";
|
$config_start_page = "user_security.php";
|
||||||
}
|
}
|
||||||
@@ -178,21 +181,20 @@ if (isset($_POST['login'])) {
|
|||||||
// Session info
|
// Session info
|
||||||
$_SESSION['user_id'] = $user_id;
|
$_SESSION['user_id'] = $user_id;
|
||||||
$_SESSION['user_name'] = $user_name;
|
$_SESSION['user_name'] = $user_name;
|
||||||
$_SESSION['user_role'] = intval($row['user_role']);
|
$_SESSION['user_role'] = $user_role;
|
||||||
$_SESSION['csrf_token'] = randomString(156);
|
$_SESSION['csrf_token'] = randomString(156);
|
||||||
$_SESSION['logged'] = true;
|
$_SESSION['logged'] = true;
|
||||||
|
|
||||||
// Setup encryption session key
|
// Setup encryption session key
|
||||||
if (isset($row['user_specific_encryption_ciphertext']) && $row['user_role'] > 1) {
|
if (is_null($user_encryption_ciphertext) && $user_role > 1) {
|
||||||
$user_encryption_ciphertext = $row['user_specific_encryption_ciphertext'];
|
|
||||||
$site_encryption_master_key = decryptUserSpecificKey($user_encryption_ciphertext, $password);
|
$site_encryption_master_key = decryptUserSpecificKey($user_encryption_ciphertext, $password);
|
||||||
generateUserSessionKey($site_encryption_master_key);
|
generateUserSessionKey($site_encryption_master_key);
|
||||||
|
|
||||||
// Setup extension
|
// Setup extension
|
||||||
if (isset($row['user_extension_key']) && !empty($row['user_extension_key'])) {
|
if (is_null($user_extension_key)) {
|
||||||
// Extension cookie
|
// Extension cookie
|
||||||
// Note: Browsers don't accept cookies with SameSite None if they are not HTTPS.
|
// Note: Browsers don't accept cookies with SameSite None if they are not HTTPS.
|
||||||
setcookie("user_extension_key", "$row[user_extension_key]", ['path' => '/', 'secure' => true, 'httponly' => true, 'samesite' => 'None']);
|
setcookie("user_extension_key", "$user_extension_key", ['path' => '/', 'secure' => true, 'httponly' => true, 'samesite' => 'None']);
|
||||||
|
|
||||||
// Set PHP session in DB, so we can access the session encryption data (above)
|
// Set PHP session in DB, so we can access the session encryption data (above)
|
||||||
$user_php_session = session_id();
|
$user_php_session = session_id();
|
||||||
|
|||||||
Reference in New Issue
Block a user