gpt4 book ai didi

c# - ASP .NET Core 身份登录管理器

转载 作者:太空宇宙 更新时间:2023-11-03 22:46:34 25 4
gpt4 key购买 nike

美好的一天。 ASP.NET-Core 项目没有经过身份验证。因此,我尝试为此目的添加内置身份。数据库中的表已成功创建,新用户已注册。在登录方法 SignInManager 中的帐户 Controller 中返回成功。在部分 View 中,Login\Register 的链接添加了注入(inject)和库(所有看起来都是带有身份验证的默认项目,基于其实现):

@using Microsoft.AspNetCore.Identity
@inject SignInManager<ApplicationUser> SignInManager

然后在 View 中检查:

SignInManager.IsSignedIn(User)

登录后它总是错误的,不相关的刚才在 Controller 中登录的状态是成功的。我是否错过了在 Startup.cs 或其他地方的 Configuration 中添加内容?通过身份验证在默认 VS 项目中实现所有内容。

更新。 Startup.cs

中的配置
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseMySql("Server=; Database=; Uid=;Pwd=;"));

services.AddIdentity<ApplicationUser, IdentityRole>(options =>
{
options.Password.RequireDigit = true;
options.Password.RequiredLength = 6;
options.Password.RequireNonAlphanumeric = false;
options.Password.RequireUppercase = true;
options.Password.RequireLowercase = false;

options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(5);
options.Lockout.MaxFailedAccessAttempts = 5;

options.User.RequireUniqueEmail = true;
options.SignIn.RequireConfirmedEmail = true;
})
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();

// Here added my application services.
.......

services.AddMvc();
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{

if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseBrowserLink();
app.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}

app.UseStaticFiles();

app.UseAuthentication();

app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}

最佳答案

在您的 ConfigureServices 方法中也配置 cookie。如下所示:

...
// Here added my application services.
.......
services.ConfigureApplicationCookie(options =>
{
options.Cookie.HttpOnly = true;
options.Cookie.Expiration = TimeSpan.FromDays(5);
options.LoginPath = "/Account/Login";
});

关于c# - ASP .NET Core 身份登录管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49571713/

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