請問 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,去判斷是前臺用戶還是后臺用戶,該如何操作,有沒有好一點的思路。
uj5u.com熱心網友回復:
創建一個繼承 HttpBearerAuth 的子類啊,Controller中加個行為指向這個子類uj5u.com熱心網友回復:
麻煩問一下,你這邊是怎么處理的,如何配置兩張表的token驗證轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/52594.html
標籤:其他技術討論專區
