在ASP.NET 5中获取AuthenticationProperties

前端之家收集整理的这篇文章主要介绍了在ASP.NET 5中获取AuthenticationProperties前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在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);

猜你在找的asp.Net相关文章