对于我的项目,我有三种类型的用户。管理员、成员和其他人。管理员和成员都可以执行某些功能。
我知道如何进行路由和检查管理员,以及调用管理员方法。但我不确定如何在用户类型之间共享功能。
有什么提示吗?
最好的,R
对于我的项目,我有三种类型的用户。管理员、成员和其他人。管理员和成员都可以执行某些功能。
我知道如何进行路由和检查管理员,以及调用管理员方法。但我不确定如何在用户类型之间共享功能。
有什么提示吗?
最好的,R
您可以简单地使用 Auth 组件来完成。Routing.prefixes = array('admin', 'manager');
在您的 app/Config/core.php 文件中取消注释 。
借助此链接设置 Auth 组件。现在,如果您的控制器方法与两个用户角色“admin”和“manager”通用,那么为任何角色定义一个方法并在另一个方法中调用它很简单。
让我们在你的 UsersController.php 中说
public function admin_list()
{
/*.... define here ..... */
}
public function manager_list()
{
$this->admin_list();
}
如果您想在经理用户角色的用户列表中显示其他内容,此技术也将帮助您进行管理。
使用 Auth 组件中的 isAuthorized() 。假设您的用户在表用户中。在你的 AppController.php 放:
public function isAuthorized($user){
return true;
}
在您的 UsersController 中,假设您希望 method1 和 method2 仅对管理员和成员可见,而对其他人不可见。
public function isAuthorized($user){
if(in_array($this->action, array('method1', 'method2'))){
if($user['role'] != 'admin' || $user['role'] != 'user'){
return false;
}
}
return true;
}
当然,在 AppController 中包含您的 AuthComponent:
public $components = array('Session', 'Auth');
如果您还有其他问题,请随时提问。:)