0

在研究在 Winforms 应用程序中执行基于角色的访问控制的方法时,我遇到了一些使用 WindowsIdentity 和 WindowsPrincipal 的解决方案。它让我想到了一个组和一个角色之间的区别,当然有一些答案(比如thisthis),这似乎表明它们是不同的(尽管前者确实说“ ...Unfortunately, operating systems tend to blur the distinction, treating roles as groups.”)

WindowsPrincipal.IsInRole()方法摘要状态;

“确定当前主体是否属于具有指定名称的 Windows 用户组。”

这是否意味着,在这方面,Windows 组被视为角色?

有一些 Windows Server文档讨论了将 Windows 用户或组分配给角色,但我对此并不十分熟悉。有人可以确认该链接中讨论的角色是 WindowsPrincipal 文档中提到的角色吗?

4

1 回答 1

1

将 Windows 用户或组分配给角色”一文讨论的是 Windows Server授权管理器。文章说您可以将用户和组添加到角色,所以不,当涉及到授权管理器时,角色与 Windows 组不同。

在 的情况下WindowsPrincipal.IsInRole(),使用“角色”这个词只是因为WindowsPrincipal实现了ClaimsPrincipal,它实现IPrincipal了并且因此需要实现该IsInRole()方法。因此,在 的上下文中WindowsPrincipal,角色与 Windows 组相同。

于 2017-12-29T14:55:39.627 回答