繁体   English   中英

ASP.NET设置用户身份并且IsAuthenticated = true

[英]ASP.NET Set User Identity and IsAuthenticated = true

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

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

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

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

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

非常感谢

如果追求User.Identity对象和IsAuthenticated属性的目的只是为了确保您的Authorize属性有效,则通过jwt令牌进行此操作的方法需要通过ConfigureOAuthTokenConsumption在Startup.cs中进行一些设置。 这篇文章的第二个答案提供了一些示例代码,这些示例代码可能会让您走上正轨: 如何在MVC应用程序中使用JWT进行身份验证和授权?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM