我正在运行以下
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进行更改
我怎样才能让它发挥作用?
答案 0 :(得分:2)
您应在创建PrincipalContext时指定用户名和密码。
PrincipalContext.ValidateCredentials
不会将您指定的用户名密码保留在PrincipalContext