Я использую DirectoryServices для аутентификации пользователя в ADLDS (облегченный Active Directory). После того, как я пройду аутентификацию. Как я могу определить DN или SID текущего пользователя, вошедшего в систему?
using (DirectoryEntry entry = new DirectoryEntry(<a>LDAP://XYZ:389</a>,
userName.ToString(),
password.ToString(),
AuthenticationTypes.Secure))
{
try
{
// Bind to the native object to force authentication to happen
Object native = entry.NativeObject;
MessageBox.Show("User authenticated!");
}
catch (Exception ex)
{
throw new Exception("User not authenticated: " + ex.Message);
}
...
Спасибо
Обновлять:
Я получаю исключение в
src = search.FindAll()
There is no such object on the server.
Я понял, что пользователь, входящий в систему, имеет тип класса foreignSecurityPrincipal в облегченной версии Active Directory, поэтому я подумал, что, возможно, я могу просто изменить ваш фильтр, чтобы он был:
search.Filter = "(&(objectclass=foreignSecurityPrincipal)" + "(sAMAccountName=" + userName + "))";
Но это дало мне такое же исключение. Есть идеи, что мне не хватает?