0
我想根据CakePHP博客教程(http://book.cakephp.org/3.0/en/tutorials-and-examples/blog-auth-example/auth.html)中的一个设置用户访问模型,但角色位于单独的表中,并通过UserRoles表链接到用户。如何在通过CakePHP 3.0中的表链接模型时检索信息?
我现在有在型号/表/ UsersTable.php以下:
$this->belongsToMany('Roles', [
'through' => 'UserRoles'
]);
,并在型号/表/ RolesTable.php以下:
$this->belongsToMany('Users', [
'through' => 'UserRoles'
]);
,并在型号以下/ Table/UserRolesTable.php:
$this->belongsTo('Users', [
'foreignKey' => 'user_id'
]);
$this->belongsTo('Roles', [
'foreignKey' => 'role_id'
]);
我已创建查看,创建和管理员角色。我试图弄清楚如何在AppController.php中检查用户的角色或角色。这是当角色并入用户对象给出的简单例子:
public function isAuthorized($user)
{
// Admin can access every action
if (isset($user['role']) && $user['role'] === 'admin') {
return true;
}
// Default deny
return false;
}
我不知道如何访问用户对象,并得到从AppController中文件的用户ID用户的角色。由于用户没有直接链接到角色,我将如何从IsAuthorized函数访问角色信息?如何在用另一个表链接时执行查找以检索用户的角色? 谢谢!
谢谢!我将如何去检查控制器函数或视图中用户的角色是什么? – Sarah 2015-04-04 01:03:12
将用户传递给beforeRender()中的视图,如$ this-> set('userData',$ this-> Auth-> user()); – 2015-04-04 12:00:10