Я использую 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 + "))";
Но это дало мне то же исключение. Есть идеи, что мне не хватает?