在Forms Authentication MVC app中管理ClaimsPrincipal.Current

时间:2015-02-18 16:58:11

标签: asp.net-mvc-4 forms-authentication claims-based-identity thinktecture-ident-server

我们使用优秀的Thinktecture IdentityServer v2来管理我们的身份验证。这适用于底层的SqlMembershipProvider体系结构。我想管理一个ASP.NET MVC4 Web应用程序连接,其中包含Identity Server在令牌中返回的信息(声明)。现在,我只是在OAuth2Client.RequestResourceOwnerPasswordAsync()返回AccessToken时使用用户名设置授权cookie。我甚至不验证它(它会设置ClaimsPrincipal.Current),因为它的目的是用于我稍后调用的另一个Web API,因此它在此Web API中得到验证。 / p>

如果我验证令牌并将ClaimsPrincipal.Current.Identity设置为我得到的那个,那么在每次调用时检索它的机制是什么?我是否必须缓存令牌并在每次请求时再次对其进行验证?

所有这一切的目的是在wep应用程序端获取我的声明,以便我可以根据它们应用授权过滤器。