簡體   English   中英

Yii2回調后如何獲取用戶身份

[英]How can I get access to user identity after callback in Yii2

在我的控制器中,我有以下行為函數:

public function behaviors()
{
    return [
        'verbs' => [
            'class' => \yii\filters\VerbFilter::className(),
            'actions' => [
                'verifym'  => ['OPTIONS','POST','GET']
            ]
        ],
        'access' => [
            'class' => \yii\filters\AccessControl::className(),
            'rules' => [
                [
                    'allow' => true,
                    'actions' => [
                        'index', 'payment', 'result', 'verify',
                        'paymentvalidation'
                    ],
                    'roles' => [ 'user' ]
                ],
                [
                    'allow' => true,
                    'actions' => ['verifym'],
                    'roles' => ['*']
                ]
            ],
            'denyCallback' => function ($rule, $action) {
                $this->redirect([ '/' ]);
                return null;
            }
        ]
    ];
}

當來自外部引用者調用verifym操作時,它不會觸發,並且denyCallBack觸發。 並且用戶身份為空。
為什么denyCallBack被觸發,我的訪問規則需要為此做哪些更改?
為什么用戶身份為空以及如何在回調過程中訪問該身份?


為什么從其他不同的域回調后,用戶身份和會話為空,並且刷新后取值?

誰能幫我?

如果你想為所有用戶觸發,你必須像這樣設置它(所有經過身份驗證的用戶):

            [
                'allow' => true,
                'actions' => ['verifym'],
                'roles' => ['@']
            ]

您可以查看文檔和示例 - https://www.yiiframework.com/doc/api/2.0/yii-filters-accesscontrol

似乎在從其他特定域回調我的 url 后,它在請求中阻止了它們的標頭,並且 Yii 框架身份通過從請求的標頭中讀取它們來檢查一些標頭。 所以我通過發送配置它並在請求和響應之間獲取一些參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM