Yii2 中 rest API 使用 HttpBearerAuth,前后台两张表,如何做权限认证? [ 2.0 版本 ]
请问 Yii2 中调用 rest API 使用 HttpBearerAuth 认证,前后台两张表,如何做权限认证?
参考答案https://stackoverflow.com/questions/35254678/multiple-user-identity-in-config-yii2
数据库表user(后台账号表),member(前台会员表)
配置文件main.php中components
'user' => [
'identityClass' => 'common\models\User',
'enableAutoLogin' => true,
'identityCookie' => ['name' => '_identity-user', 'httpOnly' => true],
'idParam' => '__id-user'
],
'member' => [
'class' => 'yii\web\User',
'identityClass' => 'common\models\Member',
'enableAutoLogin' => true,
'identityCookie' => ['name' => '_identity-member', 'httpOnly' => true],
'idParam' => '__id-member'
],
接口调用
Bearer token-***
如果bearer是member表中则报错
{
"name": "Unauthorized",
"message": "Your request was made with invalid credentials.",
"code": 0,
"status": 401,
"type": "yii\\web\\UnauthorizedHttpException"
}
使用user表中bearer
可以正常访问
这个返回为空 Yii::$app->member->identity
这个 Yii::$app->member
有返回对象
我想知道如果同一个 api 接口,给前台和后台调用,根据 user 和 member 两个表提供的 token,去判断是前台用户还是后台用户,该如何操作,有没有好一点的思路。
acking 上海
注册时间:2012-05-16
最后登录:2024-05-25
在线时长:65小时55分
最后登录:2024-05-25
在线时长:65小时55分
- 粉丝13
- 金钱2565
- 威望0
- 积分3215