我怎样才能覆盖默认值Context.User
类型的System.Security.Claims.ClaimsPrincipal
在 Asp.Net 5 (MVC-6) 中?
我想使用我的自定义用户类型,以便可以在控制器中访问它(HttpContext.User
),以及 Razor 视图中 (@User.
)
任何帮助深表感谢。谢谢!:)
基本的答案是不要——尝试实现自己的安全代码通常是一个坏主意;有很多选择可以为您节省大量前期时间,也可以为您省去很多后期麻烦。
另一个答案是你不能——它内置于新框架中从一开始就。 https://github.com/aspnet/HttpAbstractions/blob/4347ddfd0f7b97675ee0e4e489d69e42c6e29081/src/Microsoft.AspNet.Abstractions/HttpContext.cs
这就是 User POCO 模型的用途。身份框架就是以这种方式运行的(我认为从一开始),它反映了 OAuth 和大多数其他身份验证/授权系统。这是一个非常灵活和高效的模型。
相反,我建议做的是构建自己的ClaimTypes
并使用除那些内置于框架中的。 https://msdn.microsoft.com/en-us/library/system.identitymodel.claims.claimtypes%28v=vs.110%29.aspx根据您对用户进行身份验证的方式,您应该能够在创建时添加它们IPrincipal
, 反正。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)