gpt4 book ai didi

c# - ASP.Net core MVC6 在未授权时重定向到登录

转载 作者:行者123 更新时间:2023-11-30 14:07:22 24 4
gpt4 key购买 nike

我正在使用 ASP.Net core MVC 6,如果用户未通过身份验证,我会尝试将他们重定向到登录页面。

我似乎无法让它工作,目前用户只会得到一个空白页面。

下面是我在 Startup.cs 中的 ConfigureServices 方法

        public void ConfigureServices(IServiceCollection services) {
// Add framework services.
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))
);

services.AddIdentity<ApplicationUser, IdentityRole>(options => {
// configure identity options
options.Password.RequireDigit = true;
options.Password.RequireLowercase = true;
options.Password.RequireUppercase = true;
options.Password.RequireNonAlphanumeric = true;
options.Password.RequiredLength = 7;

options.Cookies.ApplicationCookie.AutomaticAuthenticate = true;
options.Cookies.ApplicationCookie.AutomaticChallenge = true;
options.Cookies.ApplicationCookie.LoginPath = "/Account/Login";

// User settings
options.User.RequireUniqueEmail = true;
})
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();

services.AddMvc();

// Add application services.
services.AddTransient<IEmailSender, AuthMessageSender>();
services.AddTransient<ISmsSender, AuthMessageSender>();
}

最佳答案

好的,从 Asp.Net Core 2.1 开始。为了将用户重定向到登录页面。这是您需要在 ConfigureServices(IserviceCollection services) 方法中执行的操作。

services.ConfigureApplicationCookie(options =>
{
options.LoginPath = "/Identity/Account/Login";
options.SlidingExpiration = true;
});

有关详细信息,请访问 Microsoft 身份文档。 https://learn.microsoft.com/en-us/aspnet/core/security/authentication/identity-configuration?view=aspnetcore-2.1#cookie-settings

关于c# - ASP.Net core MVC6 在未授权时重定向到登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41442234/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com