欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

关于Yii2 前后台分离的讨论

程序员文章站 2022-05-17 16:27:12
...
Yii2 的高级应用程序模板是前后台分离的,我认真的研究了,我发现yii2 内置了User 组件,以及RBAC组件,该组件系统内置,我现在的需求是 前后台分离,那么后台用户和前台用户以及RBAC都是要分离的,可是我发现我分离后在后台无法管理前台的用户啊,总么办?

回复内容:

Yii2 的高级应用程序模板是前后台分离的,我认真的研究了,我发现yii2 内置了User 组件,以及RBAC组件,该组件系统内置,我现在的需求是 前后台分离,那么后台用户和前台用户以及RBAC都是要分离的,可是我发现我分离后在后台无法管理前台的用户啊,总么办?

可是我发现我分离后在后台无法管理前台的用户啊

不明白为什么管理不了~

好吧,从公用一个 User 组件说起:

yii\web\User 这个组件是可以分开使用的。例如你前后台分别有两个表对应两个ActiveRecord:

class FrontUser extends ActiveRecord implements IdentityInterface
{

}

class BackendUser extends ActiveRecord implements IdentityInterface
{

}

那从配置开始我们就可以分别在前后台进行区分:

例如,后台配置 user 组件:

'user' => [
    'identityClass' => 'common\models\BackendUser', //指定为后台用户AR
]

而前台则需要指定 identityClass => 'common\models\FrontUser' 即可。

我就是按照你说的这样设置的,但是还是会出现问题,具体表现:前台已登录的用户退出之后,后台已登录的账户也跟着退出了。相应的,后台已登录的账户退出之后,前台已登录的用户也跟着退出了。请问,这是哪里错了?