代码之家  ›  专栏  ›  技术社区  ›  Craig Broadman

ASP.NET将用户标识和IsAuthenticated设置为true

  •  0
  • Craig Broadman  · 技术社区  · 8 年前

    我有一个ASP.NET只能由登录的用户访问的MVC应用程序。

    我们正在实现PingAccess和PingFederate,它们拦截到我们的应用程序的流量,并强制用户在流量到达我们的应用程序之前登录。

    一旦通过身份验证,PingAccess就会设置一个包含JWT令牌的cookie,我可以在MVC控制器中读取它并抽象声明(下面的示例),但是我需要能够设置用户身份对象并确保IsAuthenticated为true,以便我可以在所有控制器上使用标准Authorize属性。

    var cookie = this.Request.Cookies.Get("PA.mycookie");
    var jwtTokenString = cookie.Value;
    var jwtToken = new JwtSecurityToken(jwtTokenString);
    var claims = jwtToken.Claims;
    

    有人能给我指出正确的方向吗?

    非常感谢

    1 回复  |  直到 8 年前
        1
  •  0
  •   RyeBread    8 年前

    如果目标是追求用户身份对象和IsAuthenticated属性只是为了确保Authorize属性有效,那么通过jwt令牌实现这一点的方法需要在启动.cs通过ConfigureOAuthTokenConsumption。这篇文章的第二个答案有一些示例代码,可以让你走上正确的道路: How to use JWT in MVC application for authentication and authorization? .