我在Visual Studio 2013中对此进行了测试,它运行正常,但在发布到Web服务器后,我收到401错误。这是代码,但我不认为这个问题。我认为它是我继承的IIS服务器上的设置,因为它使用我的用户帐户在Visual Studio中工作。用户可以使用发布站点上的活动目录帐户和密码登录,但是当我尝试在AD组中以编程方式添加或删除用户时,FIDO_Users就是我收到错误的时候。更新按钮位于Telerik RadGrid FormTemplate中,但我只是从RadButton执行OnClick以运行下面的代码以进行AD组更新。我尝试将IUSR添加到Active Directory,因为我使用匿名和表单身份验证,但得到相同的结果。我还缺少什么?
protected void btnUpdate_OnClick(object sender, EventArgs e)
{
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "ducks.org");
Button btn = sender as Button;
RadTextBox rtxtb = btn.Parent.FindControl("UNameIDBox") as RadTextBox;
string txtb = rtxtb.Text;
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, txtb);
GroupPrincipal groupadAdmin = GroupPrincipal.FindByIdentity(ctx, "FIDO_Users");
RadButton rbFind = btn.Parent.FindControl("rbOpen") as RadButton;
bool rbChekced = rbFind.Checked;
if (rbChekced)
{
if (!user.IsMemberOf(groupadAdmin))
{
groupadAdmin.Members.Add(user);
groupadAdmin.Save();
}
}
else
{
groupadAdmin.Members.Remove(user);
groupadAdmin.Save();
}
}