我不使用 RBAC 来验证用户。如果可能的话,我不介意使用它,但我不认为它是。原因是,我使用 REST API 来验证用户。我的 authenticate() 函数中有这个:
$API = new API();
$user = $API->getAccountDetailsByEmail($this->username);
if($user->password !== md5($this->password) ) {
// Validated
}
我希望在此步骤中也为用户分配一个角色。这就是为什么我在上面尝试以下内容的原因:
$this->setState('roles', 'admin');
但这根本行不通。我仍然得到:
Error 403: You are not authorized to perform this action.
当我转到该页面时,我试图让管理员可以访问。如何以编程方式将用户设置为管理员?
我是否遗漏了什么,或者是否有一种简单的方法可以将角色分配给经过身份验证的用户?