我是Yii框架中的新手,我只是设置了一个应用程序以及单独的前端和后端部分。两个用户都可以正确注册/登录。现在,我想从前端站点登录其他用户。示例:前端用户是拖车类型
1. Customer
2. Merchant
我想设置不同的主题角色。怎么可能,请与我分享。
您可能需要使用Yii的RBAC。为了在yii中实施和使用RBAC,您需要执行以下步骤:
1-configuremain.php
位于'/path/to/yourApp/protected/config/main.php'
'authManager'=>array(
'class'=>'CDbAuthManager',
'connectionID'=>'db', //your database config name
),
2导入yii的rbac数据库方案到您的数据库中。您可以在/path/to/yii/framework/web/auth/
目录下找到它
3-添加您的操作。诸如“ VIEW_POST”或“ EDIT_POST”之类的操作:
$auth=Yii::app()->authManager;
$auth->createOperation('VIEW_POST','view a post');
$auth->createOperation('EDIT_POST','edit a post');
4-创建您的角色。例如,在您的情况下,您将扮演两个角色。第一Customer
和第二Merchant
。
$role=$auth->createRole('CUSTOMER');
5-为您的角色分配操作:
$role->addChild('VIEW_POST');
6-全部完成!您可以按照以下方式限制访问权限:
if(Yii::app()->user->checkAccess('VIEW_POST'))
{
//user has access to view a post
}else{
//logged in user has no access to view a post
}
您还可以使用以下角色检查访问权限:
if(Yii::app()->user->checkAccess('CUSTOMER')) {}
为了将角色分配给用户,请使用assign
方法:
$auth->assign('CUSTOMER','USERNAME | USER ID'); //user will hold the CUSTOMER ROLE
还可能需要注意的是,我假设您已经实现了身份验证类。您可以在以下链接中找到有关Yii的RBAC和身份验证的更多信息,这是Yii的官方文档:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句