Q1 -我不知道为什么我们更喜欢使用PrincipalPermission.Union() (或PrincipalPermission.Intersect() )而不是IsInRole()?如果有什么需要的话,那么多次调用IsInRole()比创建多个PrincipalPermission对象并通过Union() (或Intersect() )将它们合并成一个对象所需要的代码更少?
Q2 -- PrincipalPermission对象的一个构造函数重载还指定了一个IsAuthenticated标志,该标志告诉IsAuthenticated()来验证用户是否经过身份验证。在前两个参数(名称和角色)都为空的情况下,使用该标志不是很有用吗?
萨克斯
发布于 2009-05-10 21:05:00
Q1。- RE: PrincipalPermission方法与IPrincipal.IsInRole(.)
这两个函数调用使PrincipalPermission具有您赋予它的角色的联合或交集。因此,您将得到一个主体,它具有非常特定的一组需求,然后可以调用IsInRole()。请注意,这样做会影响您的角色提供程序,它可能是一个SQL服务器或活动目录,因此涉及到延迟,所以您不想一直这样做。
Q2。- RE: PrincipalPermission认证
身份验证表示用户已向您的提供程序登录。如果您只需要对您的应用程序进行审核,确认用户已登录到您的角色提供程序将意味着您可以记录他们是谁等。
您正确地说,只有在您不关心用户是谁的情况下,它才是有用的,只有当用户登录时才有用。
https://stackoverflow.com/questions/846087
复制相似问题