Asp.net
.NET core 2.0 cookie 身份驗證 - 不重定向
我正在使用帶有 cookie 身份驗證的 .NET core 2.0。
我的配置如下所示:
services .AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) .AddCookie(options => { options.ExpireTimeSpan = TimeSpan.FromDays(1); options.SlidingExpiration = true; options.Cookie.Name = "authtoken"; });當我訪問未經授權的控制器時,我被重定向到
/Account/Login在 .NET Core 1.1 中,我可以通過設置
AutomaticChallenge = false.如何在 .NET Core 2.0 中配置它?
我只希望我的控制器返回 HTTP 403。
不幸的是,該標誌被很好地真正地移除了。但是,您可以在您的 startup.cs 的 ConfigureServices 方法中覆蓋“RedirectToLogin”事件
services.AddAuthentication("CookieAuthenticationScheme") .AddCookie(options => { options.Events.OnRedirectToLogin = (context) => { context.Response.StatusCode = 401; return Task.CompletedTask; }; });如果您在升級時遇到問題,請在此處添加更多花絮:https ://dotnetcoretutorials.com/2017/09/16/cookie-authentication-asp-net-core-2-0/
我是否正確地假設這是因為這是您正在進行的 ajax 呼叫(或一般的 Web API?)。似乎 MS 在 JWT 用於 Web API 和 Cookie 僅用於 MVC 方面已經很難了。因此,為什麼要強制登錄頁面。