需要Windows密码才能在app中输入管理表单

时间:2012-02-16 17:02:18

标签: c# winforms windows-authentication

我的应用程序包含的配置设置只能由属于MyAdvancedUsers Active Directory组的用户更改。此应用程序是C#.NET 4.0桌面应用程序(不是Web应用程序)

当应用程序以常规用户权限运行时,是否可以通过让高级用户输入他/她的Windows用户名和密码组合来允许MyAdvancedUsers成员访问配置设置表单?

1 个答案:

答案 0 :(得分:2)

这样做很简单。创建PrincipalContext并在其上调用ValidateCredentials(),因此:

bool ValidateCredentials(String domain, String user, String password) {
  using (PrincipalContext principal = new PrincipalContext(ContextType.Domain, "THE DOMAIN GOES HERE")   
  {
    return principal.ValidateCredentials(user, password);
  }
}

尝试this site以获取用户捕获凭据的好方法。

@Kitsune:您不需要提升权限只是为了验证用户的凭据。