我的網站有兩個部分,一個是用作店面的前端客戶門戶。另一個是商家可以在店面編輯他們的商品、價格和商店頁面的外觀。
任何人、匿名用戶或客戶帳戶都可以訪問前者,但后者只能由已登錄的商家帳戶訪問。如果有人嘗試使用鏈接訪問商家網站的某些部分而不以商家身份登錄,他們應該被重定向到商家登錄。
我有幾行可以放在每個 Action 的頂部,如下所示:
if (!(User.Identity.IsAuthenticated
&& User.IsInRole(VendorsController.Role)))
return RedirectToAction("Login", "Vendors");
但是在每個動作的開頭添加這個感覺就像是不好的做法。我也看過一些關于修改 web.config 的帖子,但我認為這是針對早期版本的 MVC。如果用戶沒有以正確的用戶型別登錄,有沒有辦法創建一個事件監聽器來中斷重定向到登錄的操作呼叫?還是我必須將這行代碼添加到每個操作中?
uj5u.com熱心網友回復:
我會在您創建自定義 AuthenticationFilter 的地方使用AuthenticationFilter,然后根據您的需要將其應用于控制器或操作
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/415904.html
標籤:
上一篇:將[Authorize]添加到控制器無法重定向到身份登錄路由。ASP.NET核心3.1MVC
下一篇:我無法提取子類別
