Yii2基本的访问控制AccessControl前后台分离

8 篇文章 0 订阅

本文基于yii2 basic版本. 前后台访问控制分离,主要是配置分离,指明关联的数据表,并配置不同的cookie,session ID,防止前后台缓存混淆.

一. 配置信息

在app\config\web.php中增加针对后台管理员表的配置, 在components中配置如下:

      'user' => [
            'identityClass' => 'app\models\User',
            'enableAutoLogin' => true,
            'idParam' => '__user', //前后台用户的 session id 是一样, 因此要设置区分
            'identityCookie' => ['name'=>'__user_identity','httpOnly' => true], //cookie id也是, 必须前后台区分
            'loginUrl' => ['/member/auth'],
        ],
        'admin' => [ //配置后台的 User组件
            'class' => 'yii\web\User', //自定义User组件,这里必须要指定
            'identityClass' => 'app\modules\models\Admin',
            'enableAutoLogin' => true,
            'identityCookie' => ['name'=>'__admin_identity','httpOnly' => true],
            'idParam' => '__admin',
            'loginUrl' => ['/admin/public/login'],
        ],

user为前台登录以及访问控制时使用的配置, admin为后台登陆以及访问控制使用的配置.

二. 在通用控制器中重写behaviors方法

前台: 在子控制器中重新声明 $mustLogin属性, 用户必须在登录之后才能访问这些动作.

后台: 在后台中需要注意的是必须指明user 为 admin ,这里的admin就是上面在配置文件中配置的admin, 如果不指明user则上面的配置信息不会生效.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值