【问题标题】:Add user to Active Directory group results in "Access Denied"将用户添加到 Active Directory 组导致“访问被拒绝”
【发布时间】:2012-08-17 12:47:02
【问题描述】:

我正在开发一个 C# Asp.net 站点,该站点将用户添加到 Active Directory 并将他们分配到安全组。

整个脚本运行良好,除了一个问题。我可以将用户添加到组,但是在尝试将用户添加到应用程序池的身份所属的组时,我得到了“拒绝访问”异常。

我认为这是 Windows 权限问题,但我不确定需要什么权限。我们过去在使用较旧的 VB 脚本时也遇到过同样的问题。

有什么想法吗?

【问题讨论】:

  • 应用程序池的身份是否有权将成员添加到其所属的组中?也就是说,不要仅仅因为某个身份是该组的成员就认为它有权将成员添加到组中......或者您在执行组添加时是否在冒充特定身份?
  • 我正在为整个应用程序池使用特定身份(我们称他为 WebAdmin),该应用程序池已被授予将成员添加到组的权限。我不确定将成员添加到“WebAdmin”是他自己的成员的组需要什么额外的权限。
  • 你也可以看看使用目录服务。有了这个,您可以设置进行广告调用的用户,而不必弄乱应用程序池的身份。
  • 除非我疯了(我的妻子几乎立刻就证明了这一点),将成员添加到组的能力被解析到 (特别是) - 也就是说,我可以向几个组添加成员,而我不能向其他组添加成员。您确定此身份有权将用户添加到相关特定组吗?
  • 成功了!非常感谢!把它写成答案,这样我就可以选择它。您首先得到了最佳答案。

标签: c# asp.net active-directory active-directory-group


【解决方案1】:

我在设计用于活动目录管理的网站时遇到了此类问题。目前不允许执行环境管理AD。因此,通过 IIS,我们将默认帐户更改为本地系统,该帐户具有完全权限(例如,他几乎无法重新启动系统)并且无法登录(安全第一)。这适用于您冒充您的网站。

如果没有,您将需要高级组和用户管理。 AD 权限非常敏感。

编辑: 在您的情况下,使用特定帐户不是问题。在您的管理员登录时检查身份,并使用本地系统模拟。您的应用程序环境会好的,只有您的管理员可以访问。

【讨论】:

  • 不幸的是,并非所有使用该网站的人都是管理员。最常使用该站点的 IT 工作人员不是“管理员”,而是高级用户。您知道允许管理员添加到他们所属的组的特定权限吗?如果我知道我可以将其添加到应用程序池标识中。或者除非您是管理员,否则根本不允许这样做?
  • 您需要在群组中设置权限,以允许群组将用户成员添加到该群组或单位部门。您可以以编程方式设置这些权限。但我所做的,它是一个用户登录的网站。根据他们的管理组,他们被允许访问某些功能,等等。因此,他们可以访问他们的角色可以访问的内容,但所有网站都由一个帐户(本地系统)运行。
  • 感谢您的帮助。我必须在组本身上设置权限。
猜你喜欢
  • 1970-01-01
  • 2018-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多