使用默认凭据以调用DirectoryEntry

时间:2010-04-07 20:51:11

标签: c#-3.0 active-directory authentication

我在登录页面工作,逻辑就像 - >

try 
{
    DirectoryEntry LDAPLogin = new DirectoryEntry(ConfigurationSettings.AppSettings ["LDAPPath"].ToString(), Usuario, Txt_Contrasenia.Text.ToString());

    if (LDAPLogin.NativeGuid != LDAPLogin.Name)
       ValidarGrupo();
}
catch (Exception exc)
{
   Label_Info.Text = "Sus credenciales no son validas: " + Usuario.ToString() + " " + exc.Message;
}

如果用户输入权限凭据,我调用一个方法ValidarGrupo,该方法在AD中为一组用户实现查找

我想用UseDefaultCredentials替换用户名和密码,以避免用户输入用户名和密码,而登录页面则使用在计算机上登录的用户凭据。

1 个答案:

答案 0 :(得分:2)

  

我想替换用户名   和密码   UseDefaultCredentials以便   避免用户必须输入   用户名和密码以及登录   页面使用用户的凭据   这是在机器上登录。

所以你基本上想检查当前登录的用户是否有效?

我相信您只需创建DirectoryEntry而无需指定任何用户名/密码 - 在这种情况下,System.DirectoryServices将自动使用当前用户凭据:

string ldapPath = ConfigurationSettings.AppSettings ["LDAPPath"];
DirectoryEntry LDAPLogin = new DirectoryEntry(ldapPath);

这应该足够了,我相信!