Active Directory в Asp.net C # - PullRequest
       2

Active Directory в Asp.net C #

0 голосов
/ 07 сентября 2011

У меня есть одна проблема, связанная с Active Directory.Мой проект был размещен на одном сервере.И активный каталог был сохранен на другом сервере.Теперь мне нужна аутентификация AD в моем приложении при входе сотрудника.Я полностью сбит с толку, когда использую эти две разные подачи, так как не могу получить записи ACtive Directory;код, который я использовал:

string principal = this.Context.User.Identity.Name;
string filter = string.Format("(&(ObjectClass=dev)(sAMAccountName={1}))", "dev", principal);
string domain = "SOFTWARESERVER";
string[] properties = new string[] { "fullname","mail","sn" };
System.Security.Principal.WindowsIdentity wi = System.Security.Principal.WindowsIdentity.GetCurrent();
string[] a = Context.User.Identity.Name.Split('\\');

DirectoryEntry ADEntry = new DirectoryEntry("LDAP://SOFTWARESERVER/DC=softageenapl,DC=com,DC=np");
DirectorySearcher searcher = new DirectorySearcher(ADEntry);

searcher.SearchScope = SearchScope.Subtree;
searcher.ReferralChasing = ReferralChasingOption.All;
searcher.PropertiesToLoad.AddRange(properties);
searcher.Filter = filter;
SearchResult result = searcher.FindOne();
DirectoryEntry directoryEntry = result.GetDirectoryEntry();

string Name = ADEntry.Properties["Fullname"].Value.ToString();
string displayName = directoryEntry.Properties["displayName"][0].ToString();
string firstName = directoryEntry.Properties["givenName"][0].ToString();
string lastName = directoryEntry.Properties["sn"][0].ToString();
string email = directoryEntry.Properties["mail"][0].ToString();

1 Ответ

0 голосов
/ 19 февраля 2014

Я знаю, что вопрос с 2011 года. В настоящее время, я надеюсь, этот код может кому-то помочь

(C #) Добавить эти ссылки:

using System.DirectoryServices;
using System.DirectoryServices.AccountManagement;

После этого вы можете использовать этот код в своем приложении:

PrincipalContext p = new PrincipalContext(ContextType.Domain, "IP of the server");
bool Valid = p.ValidateCredentials("User", "password");

Переменная с именем: Valid , покажет вам True значение, если logIn в порядке .

Посмотрите на этот вопрос: здесь , StackOverflow , и люди объяснили эту тему более подробно («вход в систему» ​​с помощью Microsoft Active Directory).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...