Я использую идентификацию для аутентификации в своем приложении, но после аутентификации пользователь может получить доступ к странице входа и регистрации снова!
Метод входа:
var claims = new List<Claim>()
{
new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()),
new Claim(ClaimTypes.Name, user.Fullname),
};
var identity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);
var principal = new ClaimsPrincipal(identity);
var properties = new AuthenticationProperties
{
IsPersistent = model.RememberMe
};
HttpContext.SignInAsync(principal, properties);
ViewBag.IsSuccess = true;
if (ReturnUrl != "/")
{
return Redirect(ReturnUrl);
}
return Redirect("/dashboard");
код запуска:
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
}).AddCookie(options =>
{
options.LoginPath = "/login";
options.LogoutPath = "/logout";
options.ExpireTimeSpan = TimeSpan.FromMinutes(10080);
});
примечание: я добавил app.UseAuthentication()
для настройки метода