1

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

0 回答 0