【问题标题】:ASP.NET Set User Identity and IsAuthenticated = trueASP.NET 设置用户身份和 IsAuthenticated = true
【发布时间】:2018-06-07 03:54:00
【问题描述】:

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

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

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

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

谁能指出我正确的方向?

非常感谢

【问题讨论】:

    标签: c# asp.net-mvc asp.net-identity identity authorize-attribute


    【解决方案1】:

    如果跟踪 User.Identity 对象和 IsAuthenticated 属性的目的只是为了确保您的 Authorize 属性有效,那么通过 jwt 令牌执行此操作的方法需要通过 ConfigureOAuthTokenConsumption 在 Startup.cs 中进行一些设置。这篇文章的第二个答案有一些示例代码,可能会让你走上正轨:How to use JWT in MVC application for authentication and authorization?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-19
      • 1970-01-01
      相关资源
      最近更新 更多