我有一個Identity 3.0項目。我已經設置了一個動態菜單,它也能正常工作,並根據您所處的角色顯示不同的菜單列表。asp.net核心MVC 6授權用戶的不同主頁
我想授權用戶擁有不同的主頁。如果您未經授權,您應該按照正常方式看到「/ Home/Index」。
如果您已獲得授權(以用戶身份登錄並記住您..),您應該始終將其定向到授權用戶的其他主頁...「/ Scheduling/Index」。
我樹立了一個AuthorizeFilter
services.AddMvc(setup =>
{
setup.Filters.Add(new AuthorizeFilter(defaultPolicy));
});
所以,除非你是授權,如果你嘗試訪問任何控制器沒有你得到一個登錄頁面:
[AllowAnonymous]
在開始。 ..例如HomeController有這個在開始...
我發現this在Stackoverflow和嘗試它在啓動類,但它不工作。
services.Configure<CookieAuthenticationOptions>(options =>
{
options.LoginPath = new PathString("/Scheduler/Index");
});
根據用戶是否登錄或未登錄,我如何擁有兩個不同的主頁?
嗨@Dimitry和其他..有沒有一種方法可以做到這一點,只是從StartUp.cs類使用過濾器等我寧願它在啓動如果可能 – si2030
您可以使用[動作過濾器](https:/ /docs.asp.net/en/latest/mvc/controllers/filters.html#action-filters)與特定於操作/控制器的邏輯或[創建自己的中間件](https://docs.asp.net/en/latest /fundamentals/middleware.html#writing-middleware),如果您有特定於網址的邏輯(例如,將用戶重定向到基於當前URL和其他一些條件的其他網址)並放置在Mvc中間件之前。兩者都在'Startup.cs'中配置 – Dmitry