在ASP.NET 5 MVC 6 RC1中,如何从控制器或过滤器中检索AuthenticationProperties? HttpContext.Authentication似乎没有这个功能.
我考虑过注册CookieAuthenticationEvents.OnValidatePrincipal处理程序,然后使用CookieValidatePrincipalContext参数上的Properties属性.然后我可以将这些AuthenticationProperties存储在请求缓存中,以便以后我能够获得像IssuedUtc这样的东西.
有没有更好的解决方案,我不需要自己存储?
我没有使用ASP.NET身份,而是使用cookie中间件作为独立的.
解决方法
在ASP.NET 5中,检索身份验证属性有点麻烦,因为必须通过实例化AuthenticateContext来完成:
var context = new AuthenticateContext("[your authentication scheme]"); await HttpContext.Authentication.AuthenticateAsync(context); if (context.Principal == null || context.Properties == null) { throw new InvalidOperationException("The request is not authenticated."); } var properties = new AuthenticationProperties(context.Properties);