Мне нужно получить сетевое доменное имя, связанное с текущим пользователем, без ввода пароля пользователя или учетных данных.Есть ли способ получить роль пользователя и группу из Ad/Ldap без указания пароля пользователя?
Я попытался получить группу пользователей и получить ошибку «произошла локальная ошибка».
Ниже код Я использовал.
using (PrincipalContext context = new PrincipalContext(ContextType.Domain, Environment.UserDomainName))
{
try
{
// add the users groups to the result
var groupList =
UserPrincipal
.FindByIdentity(context, IdentityType.SamAccountName, Environment.UserName)
.GetGroups()
.Select(group => group.Name)
.ToList();
groupList.ToList();
}
catch (Exception ex)
{
// TODO: LogError("Unable to query Active Directory.", ex);
}
}
Не могли бы вы подробнее рассказать об этом, поскольку я врывался в RootDSE? Когда я нахожу какое-либо значение свойства, чем оно будет охватывать исключение «Возникла локальная ошибка». –
Ваш первый вопрос был о домене текущего пользователя. Обычно это не информация, которую вы получаете через LDAP, но если вас интересуют атрибуты, связанные с доменом rootDSE, вы можете получить это через LDAP с анонимным сеансом - используйте пустую базу baseDn и базу данных поиска. Информация пользователя, однако, недоступна без успешной операции связывания. Я не знаю о вашем сообщении об ошибке, похоже, что вы можете подключиться, так что ваша связь может быть виновником. – marabu