Я добавил аутентификацию в мое основное приложение asp. net, как показано ниже
var authenticationBuilder = services.AddAuthentication(builder =>
{
builder.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
builder.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;
});
authenticationBuilder.AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, options =>
{
options.AccessDeniedPath = "/Account/AccessDenied";
options.Cookie.Name = $"{AppCookieDefaults.Prefix}{AppCookieDefaults.AuthenticationCookie}";
options.Cookie.HttpOnly = true;
options.ExpireTimeSpan = TimeSpan.FromMinutes(60);
options.LoginPath = "/Account/Login";
options.ReturnUrlParameter = CookieAuthenticationDefaults.ReturnUrlParameter;
options.SlidingExpiration = true;
options.Cookie.SecurePolicy = CookieSecurePolicy.Always;
options.Cookie.SameSite = SameSiteMode.Lax;
});
Когда я попытался войти с помощью SignInManager
PasswordSignInAsync
, мой вход был успешным, но приложение все еще перенаправлялось на Страница входа в систему, когда я проверяю консоль, показывает
И кажется, что аутентификация cook ie также не переименована так, как я хотел.
Я не могу понять, что пошло не так
Обновление
Я добавил authenticationBuilder.AddIdentityCookies
Вместо этого звоните AddCookie
Наверно, я думаю, что я что-то напутал при регистрации службы для информации, я буду обновлять здесь, это код, я регистрирую личность
services.AddIdentityCore<User>()
.AddRoles<IdentityRole>()
.AddUserManager<UserManager<User>>()
.AddSignInManager()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
services.Configure<IdentityOptions>(options =>
{
options.Password.RequireDigit = false;
options.Password.RequireLowercase = false;
options.Password.RequireNonAlphanumeric = false;
options.Password.RequireUppercase = false;
options.Password.RequiredLength = 6;
options.Password.RequiredUniqueChars = 0;
options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(5);
options.Lockout.MaxFailedAccessAttempts = 5;
options.Lockout.AllowedForNewUsers = false;
options.User.RequireUniqueEmail = true;
});