加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – AuthenticationManager.SignIn与AuthenticationM

发布时间:2020-12-16 03:17:49 所属栏目:asp.Net 来源:网络整理
导读:AuthenticationManager有两种方法. void SignIn(params ClaimsIdentity[] identities);TaskAuthenticateResult AuthenticateAsync(string authenticationType); 他们的目的是什么?在什么情况下应该使用它们? 解决方法 我认为目的是在Authenticate和SignIn
AuthenticationManager有两种方法.

void SignIn(params ClaimsIdentity[] identities);
Task<AuthenticateResult> AuthenticateAsync(string authenticationType);

他们的目的是什么?在什么情况下应该使用它们?

解决方法

我认为目的是在Authenticate和SignIn方法的名称上描述的

因此,AuthenticateAsync的目的基本上是获取身份验证票证

await ticket 
 = Authentication.AuthenticateAsync(DefaultAuthenticationTypes.ExternalBearer);

它返回一个像这样的AuthenticateResult

{Microsoft.Owin.Security.AuthenticateResult}
    Description: {Microsoft.Owin.Security.AuthenticationDescription}
    Identity: {System.Security.Claims.ClaimsIdentity}
    Properties: {Microsoft.Owin.Security.AuthenticationProperties}

使用此结果,您现在可以登录(将身份信息添加到上下文中)

Context.Authentication.SignIn(ticket.Properties,ticket.Identity);

您可以在下面的示例代码中清楚地看到它

var ticket = await Context.Authentication.AuthenticateAsync(Options.AuthenticationType);

    if(ticket != null)
    {
      Context.Authentication.SignIn(ticket.Properties,ticket.Identity);

      Response.Redirect(ticket.Properties.RedirectUri);

      return true;
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读