c# - Active Directory 和 PrimaryPermission

标签 c# security active-directory principalpermission

这更多的是一种好奇心,而不是请求帮助,但我注意到,当使用PrincipalPermission并验证用户是否属于Active Directory中的特定组时,它不会使用真实的组名称,而是根据预先设置的组名称进行验证。 Windows 2000 组名称代替。通常这不会产生影响 - 除非有人碰巧使这些值不同。

有人能想到为什么 .Net API 会使用该组名称而不是“真实”名称吗?这让我经历了几个小时的悲伤和一点点运气,终于弄清楚了这一切。

最佳答案

我假设(没有亲自测试和尝试过)PrincipalPermission 属性将使用 Active Directory 中的“sAMAccountName”作为用户和组名称(例如“Users”或“JohnDoe”),而不是“专有名称” (DN) 您可能会期望(“CN=Users”、“CN=John Doe”)。

这背后的原因很可能是您正在处理的场景,例如独立服务器或 NT4 域。在这些情况下,您根本没有任何基于 AD 的可分辨名称 - 但您确实有 SAM 帐户名称。

因此,从某种意义上说,一开始这似乎有点令人惊讶 - 但在我看来,使用这些 SAM 帐户名称(AD 之前的名称)确实有意义 - 您同意吗?

马克

关于c# - Active Directory 和 PrimaryPermission,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1088041/

相关文章:

c# - 从 C# 调用的 C++ 返回长度未知的字符串

visual-studio-2010 - 如何将 Windows 组作为 “Readers” 添加到 TFS 2010 集合中的所有项目?

c# - 索引超出数组错误的范围 (C#)

c# - 列表框中部分可见的项目不会触发绑定(bind)命令

c# - 具有属性的奇怪行为

security - Tomcat 7 - 多个安全约束不起作用

c++ - UAC 提示提升 - 它是如何工作的?

php - 对用于安全登录的更高 Web 根访问权限感到困惑

powershell - PowerShell意外将 “CN=”前缀添加到计算机名称

windows - 使用 PowerShell 确定用户是否在 Active Directory 中