mirror of
https://github.com/getgrav/grav.git
synced 2026-03-04 19:41:36 +01:00
feat(admin): add setting to split admin and front-end session (#1096)
This commit is contained in:
@@ -967,6 +967,18 @@ form:
|
||||
label: PLUGIN_ADMIN.SESSION_PATH
|
||||
help: PLUGIN_ADMIN.SESSION_PATH_HELP
|
||||
|
||||
session.split_admin:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.SESSION_SPLIT
|
||||
help: PLUGIN_ADMIN.SESSION_SPLIT_HELP
|
||||
highlight: 1
|
||||
options:
|
||||
1: PLUGIN_ADMIN.YES
|
||||
0: PLUGIN_ADMIN.NO
|
||||
default: true
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
advanced:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.ADVANCED
|
||||
|
||||
@@ -77,7 +77,12 @@ class Session extends BaseSession
|
||||
|
||||
$unique_identifier = GRAV_ROOT;
|
||||
$inflector = new Inflector();
|
||||
$this->setName($inflector->hyphenize($config->get('system.session.name', 'grav_site')) . '-' . substr(md5($unique_identifier), 0, 7) . ($is_admin ? '-admin' : ''));
|
||||
$session_name = $inflector->hyphenize($config->get('system.session.name', 'grav_site')) . '-' . substr(md5($unique_identifier), 0, 7);
|
||||
$split_admin_session = $config->get('system.session.split_admin', true);
|
||||
if ($is_admin && $split_admin_session) {
|
||||
$session_name .= '-admin';
|
||||
}
|
||||
$this->setName($session_name);
|
||||
$this->start();
|
||||
setcookie(session_name(), session_id(), time() + $session_timeout, $session_path, $domain, $secure, $httponly);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user