Dea*_*ane 4 c# asp.net asp.net-core-mvc asp.net-identity-3 asp.net-core
这些似乎有些模棱两可.我在整个项目中交替使用它们,唯一的原因是因为我无法弄清楚何时使用其中一个.
一个是真的而另一个不是的情况会怎样?
如果我只使用ASP.NET身份对用户进行身份验证,那么一个或另一个更有利还是真的无关紧要?
HttpContext.User.Identity.IsAuthenticated检查当前用户是否已通过身份验证(如果用户已通过身份验证,则为true;否则为false.).当您像这样设置用户:HttpContext.User = new
ClaimsPrincipal(new ClaimsIdentity("SomeAuthType"));或者对任何身份验证中间件(例如JwtBearer)的请求身份验证都成功时,它将成立.return principal?.Identities != null && principal.Identities.Any(i => i.AuthenticationType == Options.Cookies.ApplicationCookieAuthenticationScheme);.因此,如果您使用aspnet身份并且想要检查用户是否通过aspnet身份中间件(by app.UseIdentity())进行身份验证,那么请使用SignInManager.IsSignedIn.如果您不使用aspnet标识,或者如何验证当前用户的身份,那么请使用HttpContext.User.Identity.IsAuthenticated.
| 归档时间: |
|
| 查看次数: |
2249 次 |
| 最近记录: |