gpt4 book ai didi

asp.net - 在 asp net core (asp net 5) 中设置身份验证

转载 作者:行者123 更新时间:2023-12-04 16:31:09 25 4
gpt4 key购买 nike

我需要能够通过这样的测试代码验证我的用户

var identity = new GenericIdentity("ausov@fsb.ru", "UserId");
Thread.CurrentPrincipal = new GenericPrincipal(identity, null);

或者像这样

FormsAuthentication.SetAuthCookie(username, rememberMe);

但是这些方法在 asp net 5 中不起作用。

最佳答案

要让它在 ASP.NET Core 中工作,首先,使用 NuGet 添加 Microsoft.AspNetCore.Authentication.Cookies

在 Startup.cs 中,将其添加到 Configure 方法中:

  app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
AuthenticationScheme = "PutANameHere",
LoginPath = new PathString("/Account/Login/"),
AutomaticAuthenticate = true,
AutomaticChallenge = true
});

然后调用这个来登录:

  var userClaims = new List<Claim>
{
new Claim(ClaimTypes.Name, userName)
};

var principal = new ClaimsPrincipal(new ClaimsIdentity(userClaims, "local"));
HttpContext.Authentication.SignInAsync("PutANameHere", principal);

有关这方面的更多信息,请查看: https://docs.asp.net/en/latest/security/authentication/cookie.html

关于asp.net - 在 asp net core (asp net 5) 中设置身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38497079/

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