UserPrincipal.Save()上未经授权的访问异常

时间:2011-02-10 21:06:35

标签: .net active-directory

我正在运行以下

  static void UpdateEmployeeID(string userName, string id)
    {
       PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
        bool val = ctx.ValidateCredentials("myusername", "mypassword");

        UserPrincipal user = UserPrincipal.FindByIdentity(ctx, userName);
        if (user != null)
        {
            user.EmployeeId = id;
            user.Save(ctx);
        }
     }

当它运行时,我在User.Save上获得了一个未经授权的访问异常(ctx) 用户名和密码正确,ctx.ValidateCredentials返回true,用户名和密码有权对AD进行更改

我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:2)

您应在创建PrincipalContext时指定用户名和密码。

PrincipalContext.ValidateCredentials不会将您指定的用户名密码保留在PrincipalContext