IIS连接到GroupPrincipal user.IsMemberOf的活动目录

时间:2015-10-20 22:27:27

标签: c# asp.net iis active-directory groupprincipal

我在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();
        }
    }

0 个答案:

没有答案