Cod*_*949 15 c# asp.net asp.net-identity
有人可以向我解释他们在后台做什么吗?我使用的时候有问题HttpContext.SignInAsync与SecurityStamp。
使用后SigninManger.SignInAsync错误再也没有发生。
你能向我解释一下这些变体之间的区别是什么吗?我想了解为什么HttpContext.SignInAsync会这样。
Jul*_*ian 14
我很好奇其中的区别,所以我检查了源代码。(深层链接)
SignInManager.SignInAsync定义如下,其中Context是HttpContext:
/// <summary>
/// Signs in the specified <paramref name="user"/>.
/// </summary>
/// <param name="user">The user to sign-in.</param>
/// <param name="authenticationProperties">Properties applied to the login and authentication cookie.</param>
/// <param name="authenticationMethod">Name of the method used to authenticate the user.</param>
/// <returns>The task object representing the asynchronous operation.</returns>
public virtual Task SignInAsync(TUser user, AuthenticationProperties authenticationProperties, string authenticationMethod = null)
{
var additionalClaims = new List<Claim>();
if (authenticationMethod != null)
{
additionalClaims.Add(new Claim(ClaimTypes.AuthenticationMethod, authenticationMethod));
}
return SignInWithClaimsAsync(user, authenticationProperties, additionalClaims);
}
public virtual async Task SignInWithClaimsAsync(TUser user, AuthenticationProperties authenticationProperties, IEnumerable<Claim> additionalClaims)
{
var userPrincipal = await CreateUserPrincipalAsync(user);
foreach (var claim in additionalClaims)
{
userPrincipal.Identities.First().AddClaim(claim);
}
await Context.SignInAsync(IdentityConstants.ApplicationScheme,
userPrincipal,
authenticationProperties ?? new AuthenticationProperties());
}
Run Code Online (Sandbox Code Playgroud)
所以它只是调用HttpContext.SignInAsync一些选项并在某些条件下添加声明
| 归档时间: |
|
| 查看次数: |
1985 次 |
| 最近记录: |