当前位置:  开发笔记 > 后端 > 正文

在ASP.NET 5中获取AuthenticationProperties

如何解决《在ASP.NET5中获取AuthenticationProperties》经验,为你挑选了1个好方法。

在ASP.NET 5 MVC 6 RC1中如何AuthenticationProperties从控制器或过滤器中检索?HttpContext.Authentication似乎没有这个功能.

我考虑过注册一个CookieAuthenticationEvents.OnValidatePrincipal处理程序然后PropertiesCookieValidatePrincipalContext参数上使用该属性.然后我可以将它们存储AuthenticationProperties在请求缓存中,以便以后我能够得到类似的东西IssuedUtc.

有没有更好的解决方案,我不需要自己存储?

我没有使用ASP.NET身份,而是使用cookie中间件作为独立的.



1> Kévin Chalet..:

在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);


在.Net Core 2中,当您避开已弃用的Authentication类时,它会变得更短.用var context = await HttpContext.AuthenticateAsync("[your authentication scheme]")替换前两行;
推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有