IPrincipal 和 IIdentity 接口
标识和主体对象必须分别实现IIdentity 和 IPrincipal 接口。这些接口在 System.Security.Principal 名称空间内定义。公共接口使 .NET Framework 能以多态方式处理标识和主体对象,而不管基础实现的详细情况如何。
IPrincipal 接口使您可以通过 IsInRole 方法测试角色的成员身份,同时也提供了对关联的 IIdentity 对象的访问。
public interface IPrincipal
{
bool IsInRole(string role);
IIdentity Identity { get;}
}
IIdentity 接口提供有关身份验证的更多详细信息,如名称和验证类型。
public interface IIdentity
{
string authenticationType { get;}
bool IsAuthenticated { get;}
string Name { get;}
}