用户权限
Revision as of 15:35, 17 June 2020 by Thecyyoung (talk | contribs) (1. 修正 listGroupForUser() 要傳入的是 id 而非物件 2. $listofgroup可能是從[1]開始)
每个权限都有唯一的ID.
Dolibarr 所管理的所有权限都保存到Table llx_rights_def中,并有自己的ID。
id用于在用户与权限之间建立链接(链接被保存到Table llx_user_rights)或在组和权限之间建立链接(链接被保存到Table llx_usergroup_rights)。
获取用户的权限和组
在Dolibarr页面的源代码中,全局对象$user被自动定义。
它包含当前用户的所有信息。
它的权限可以通过测试来测试。
if ($user->rights->module->codestringlevel1->codestringlevel1)
要知道用户是哪个组的列表,可以使用下面的代码(Dolibarr 2.5或更高):
$usergroup=new UserGroup($db);
$listofgroups=$usergroup->listGroupsForUser($fuser->id);
print $listofgroups[0]->nom; // $listofgroups[1]->nom;
$listofgroups是用户$fuser所属的所有对象用户组(组)的数组。
$fuser是加载代码的对象用户
$fuser=new User($db);
$fuser->fetch('login');
可用权限数组
每个模块都有它的代码字符串来使用$user->rights数组来获取用户的相关权限。用于读取权限的代码列表可用于模块开发人员文档。
单击here to get full list of modules (并选择模块文档的开发者版本以获得可能的权限列表)。