c# – IIdentity,IPrincipal或IUser:有什么区别?
我正在尝试在MVC5应用程序中实现简单的基于角色的身份验证授权,但是我在尝试理解Identity框架中涉及的所有部分时遇到了一些麻烦
我正在阅读几本教程和指南,但我还没有明确的想法. 特别是:哪个是IIdentity,IPrincipal或IUser接口之间的区别?我应该实施哪些? 解决方法
‘IPrincipal’是
.Net framework’s interface:
public interface IPrincipal { // Retrieve the identity object IIdentity Identity { get; } // Perform a check for a specific role bool IsInRole (string role); } 此接口定义登录用户的基本功能. IIdentity表示用户的权限.对于Asp.Net Identity框架,您将处理ClaimsIdentity. Here is more documentation关于IPrincipal和IIDentity. IUser是Asp.Net Identity框架的一部分.如果您使用Identity的Entity Framework部分,则可以继承和扩展you’ll be provided with IdentityUser类.这是您实施的模型. 基本上,IdentityUser是保存在数据库中的POCO.当用户登录时,来自IdentityUser的信息将由框架转换为ClaimsPrincipal和ClaimsIdentity.当您访问HttpContext.Current.User时,您将获得ClaimsPrincipal. 希望这能为你解决问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |