0
我正在ASP.Net核心項目中實現自定義身份驗證而無需身份驗證。ASP.Net Mvc核心項目未經授權的請求不會重定向到登錄頁面
我有包括CookieAuthentication
只是UseMvc
之前
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
AuthenticationScheme = "Cookie",
LoginPath = new PathString("/Account/Login/"),
AccessDeniedPath = new PathString("/Account/Forbidden/"),
AutomaticAuthenticate = true,
AutomaticChallenge = true
});
添加授權自定義策略
services.AddAuthorization(options =>
{
options.AddPolicy("CustomPolicy",
policy => policy.RequireClaim("CustomClaim"));
});
而在國內控制我使用的相應auth屬性
[Authorize(Policy = "CustomPolicy")]
public class HomeController : Controller { }
我期望將被重定向到/Account/Login/
每次嘗試訪問/Home/Index
但我只獲得401
。
我跟着這兩個教程:
什麼我失蹤?
更新: 這個問題,當我使用IIS運行應用程序,從重定向工作正常的exe只存在。
對此我感到很好奇,我最近將生產環境應用程序更新爲最新的.NET Core版本,IIS不再重定向到「帳戶/登錄」操作,而通過可執行文件手動啓動Web應用程序會重定向。我會建議運行該exe文件,看看這是否也適用於您的應用程序。 – ColinM
@ColinM你是對的,謝謝你把我的觀點。當我運行exe時,它通常會重定向到登錄頁面。你找到解決方案嗎?我猜懷疑是web.config,也許它需要'元素。 –
我將在幾個小時內完成工作時嘗試配置中的身份驗證模式,但我無法查看本文和之前發佈的可能導致此問題的.NET Core庫之間的變化。 – ColinM