国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

[已解決]關(guān)于中間件和控制器鉤子執(zhí)行順序的問(wèn)題

蛋奶走勢(shì)

業(yè)務(wù)邏輯為,鑒權(quán)中間件處理鑒權(quán),控制器鉤子處理后續(xù)控制器需要的數(shù)據(jù),測(cè)試之后,發(fā)現(xiàn)執(zhí)行順序和預(yù)想的不一致,環(huán)境配置如下圖
插件版本

中間件配置

控制器基礎(chǔ)鉤子類

繼承基礎(chǔ)類的控制器

最后執(zhí)行的順序

按照預(yù)想,中間件應(yīng)該是先于基礎(chǔ)鉤子類執(zhí)行,但是測(cè)試的結(jié)果,基礎(chǔ)鉤子類卻先執(zhí)行了,然后又測(cè)試了不繼承基礎(chǔ)類,直接在控制器使用鉤子,鉤子函數(shù)的執(zhí)行也是先于中間件,就有點(diǎn)搞不明白,想問(wèn)下大家我是不是使用的姿勢(shì)有問(wèn)題

1713 1 1
1個(gè)回答

walkor 打賞

原因

控制器鉤子函數(shù)實(shí)際上就是利用全局中間件實(shí)現(xiàn)的,中間件執(zhí)行順序?yàn)?全局鉤子中間件(觸發(fā)鉤子函數(shù)) -> user應(yīng)用中間件UserAuth,所以這就是為什么先執(zhí)行beforeAction,再執(zhí)行UserAuth的原因。

解決辦法

把全局鉤子中間件改成user應(yīng)用中間件,更改配置 config/plugin/webman/action-hook/middleware.php

return [
    '' => [
        ActionHook::class
    ]
];

改為

return [
    'user' => [
        ActionHook::class
    ]
];

這樣執(zhí)行順序就是 user應(yīng)用中間件UserAuth -> user應(yīng)用鉤子中間件(觸發(fā)鉤子函數(shù))

年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??