【发布时间】:2014-02-23 09:10:59
【问题描述】:
似乎我的本地计算机没有将数据写入 Active Directory 所需的权限。我可以读取数据但不能更改和更新它。调用 .save() 命令后,我收到下一条消息:“访问被拒绝”。
我不使用任何登录详细信息来登录 Active Directory,我也不希望使用任何登录详细信息。我知道它通常与应用程序池和 IIS 有关,但除了尝试和更改一些次要选项和功能之外,我似乎找不到可行的解决方案。
编辑: 这是我要执行的代码:
using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, "DOMAINANME"))
{
GroupPrincipal group = new GroupPrincipal.FindByIdentity(pc, "GROUPNAME");
group.Members.Remove(pc, IdentityType.SamAccountName, "USERNAME");
group.Save();
}
【问题讨论】:
-
我认为您必须使用某种登录详细信息。否则,asp.net 将在应用程序池的安全上下文中运行,该应用程序池默认具有非常低的权限(应该如此)。我认为您可以通过使用活动目录作为您的会员提供者来做到这一点。
-
@sovemp 我该怎么做?我似乎找不到正确的提供者。
-
如果您将身份验证模式设置为 windows(并授权拒绝所有未经身份验证的用户),这将强制浏览器请求 AD 登录。编辑:另外,如果您不想提示登录,我同意 Zychia 的建议,即创建一个仅限 Intranet 的层。
-
@sovemp 我拒绝了所有匿名用户,但仍然 - 当我应用 .save() 方法时没有提示 AD 登录。有什么想法吗?
-
您是在本地计算机上进行的吗?我认为,在您将其部署在域中的某个位置之前,它实际上不会提示。
标签: c# asp.net active-directory windows-authentication