Page 1 of 1

Adding permissions [Hack]

Posted: 27 Dec 2017, 05:50
by rexwal
Hi,

Just was playing around with OpenCats to see if I can turn off / on tabs for different permissions. This is a way for tabs not to appear (but users may still access them)

At any time - you can get the permission of the logged in user with $loggedInAccessLevel = $_SESSION['CATS']->getRealAccessLevel();
Real Access level returns the logged in user access:, Read Only - 100, Add / Edit - 200, Add / Edit / Delete (Default) - 300, Site Administrator - 400, Root - 500

Adding this code to printTabs in TemplateUtility.php in the foreach ($modules as $moduleName => $parameters) loop will hide certain tabs if a user does not meet the appropriate permissions. Module names are: home, activity, joborders, candidates, companies, contacts, lists, calendar, reports, settings

$loggedInAccessLevel = $_SESSION['CATS']->getRealAccessLevel();
$minimumAccessLevel = array ("lists" => 400, "companies" => 400);
if (array_key_exists($moduleName, $minimumAccessLevel)) {
if ($loggedInAccessLevel < $minimumAccessLevel[$moduleName])
{
continue; //Disabling module for the user by not showing it - if they do not have the minium access level
}
}

Re: Adding permissions [Hack]

Posted: 19 Feb 2018, 13:42
by RussH
Thank you! I will ask that this is added into the documentation :-)

Re: Adding permissions [Hack]

Posted: 23 Feb 2018, 13:20
by skrchnavy
Hi.

Please check https://github.com/opencats/OpenCATS/wi ... trol-Lists, there is explained ACL.
In some pages, there is a check for 'calculated''access level and required access level, if added into all pages (modules), then it shall be easy to hide menu an also to protect backend functionality. (hiding menu just don't show page to user but it is easy to construct get request to change values).

Sveto.