diff options
author | jim-p <jimp@pfsense.org> | 2011-08-11 14:02:21 -0400 |
---|---|---|
committer | jim-p <jimp@pfsense.org> | 2011-08-11 14:02:21 -0400 |
commit | 3f1097004e12701b6ce6712a0f4702089baa5e53 (patch) | |
tree | 4a748c83fb0615a3ab38196f7eeaf6c9c2dcc2b4 | |
parent | 5457129fc90bc0275ef7d5db6608b309907a15f6 (diff) | |
download | pfsense-3f1097004e12701b6ce6712a0f4702089baa5e53.zip pfsense-3f1097004e12701b6ce6712a0f4702089baa5e53.tar.gz |
Sort user privileges so dashboard/index.php come first, so if a user has those permissions, they get redirected there first and not to another page.
-rw-r--r-- | etc/inc/priv.inc | 9 | ||||
-rw-r--r-- | usr/local/www/system_usermanager_addprivs.php | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/etc/inc/priv.inc b/etc/inc/priv.inc index 16dd112..4321c44 100644 --- a/etc/inc/priv.inc +++ b/etc/inc/priv.inc @@ -287,4 +287,13 @@ function getAllowedPages($username) { return $allowed_pages; } +function sort_user_privs($privs) { + // Privileges to place first, to redirect properly. + $priority_privs = array("page-dashboard-all", "page-system-login/logout"); + + $fprivs = array_intersect($privs, $priority_privs); + $sprivs = array_diff($privs, $priority_privs); + + return array_merge($fprivs, $sprivs); +} ?>
\ No newline at end of file diff --git a/usr/local/www/system_usermanager_addprivs.php b/usr/local/www/system_usermanager_addprivs.php index 6716036..edfb2ad 100644 --- a/usr/local/www/system_usermanager_addprivs.php +++ b/usr/local/www/system_usermanager_addprivs.php @@ -101,6 +101,7 @@ if ($_POST) { else $a_user['priv'] = array_merge($a_user['priv'], $pconfig['sysprivs']); + $a_user['priv'] = sort_user_privs($a_user['priv']); admin_users_sort(); local_user_set($a_user); $retval = write_config(); |