用户权限

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 (并选择模块文档的开发者版本以获得可能的权限列表)。