问:如何重定向到不同的页面登录后?
状态:我自定义用户角色,我想重定向到不同的页面,不同的用户。
例如人力资源经理 - >雇员/索引,帐户管理器 - >帐户/索引。
我使用的警予1.1.xx和权利模块。 警予和权利模块用绿色去。
更新问题的信息
这是排名TBL
这是用户TBL
如果秩是客户经理,该网站将重定向到帐号/索引。
如果秩是HR经理,该网站将重定向到员工/索引。
问:如何重定向到不同的页面登录后?
状态:我自定义用户角色,我想重定向到不同的页面,不同的用户。
例如人力资源经理 - >雇员/索引,帐户管理器 - >帐户/索引。
我使用的警予1.1.xx和权利模块。 警予和权利模块用绿色去。
更新问题的信息
这是排名TBL
这是用户TBL
如果秩是客户经理,该网站将重定向到帐号/索引。
如果秩是HR经理,该网站将重定向到员工/索引。
if(Yii::app()->user->checkAccess('hrManager',Yii::app()->user->getId())==1)
{
$this->redirect(array("employee/index"));
} else if(Yii::app()->user->checkAccess('accountManager',Yii::app()->user->getId())==1) {
$this->redirect(array("account/index"));
}
凡hrManager
和accountManager
是人力资源经理和客户经理的登录相应的访问规则。 这将检查用户是否具有“人事经理”级别的访问权限,如果是的话重定向到那里,然后检查用户是否具有“客户经理”级别的访问权限,如果这样他们重定向到该页面。
很明显,你可以自定义它是如何适合你的应用程序,因为如果用户既没有人力资源经理或客户经理访问上面的代码,没有地方重定向,所以你需要另一个捕手。
编辑:
该hrManager
字符串是RBAC authitem名字,你有表authassignment
authitem
和authitemchild
为您的RBAC?
如果没有,你可以用这个方法有点不同使用你的排名表。 您可以设置它使用rank_id,但你必须加载用户模式(如果你还没有得到它加载),这可能不是这样做的最有效的方式。
$user = User::model()->findbyPk(Yii::app()->user->getId());
if($user->rank_id==3)
{
$this->redirect(array("employee/index"));
} else if($user->rank_id==2)) {
$this->redirect(array("account/index"));
}
另一种方法是加载用户排名进入的Yii ::应用程序() - >登录后,用户PARAM所以你不必加载重定向之前的用户模型,也许你有这样的设置已经为但您可允许用户访问的网页?
if(Yii::app()->user->rank_id==3)
{
$this->redirect(array("employee/index"));
} else if(Yii::app()->user->rank_id==2)) {
$this->redirect(array("account/index"));
}
像$this->redirect(array("controller/admin"));
?