2015-04-21 3 views
-1

Компании, на которую я работаю два активных каталоги (ad1.com, ad2.com), поскольку она имеет два различных магазинов, которые не имели ничего общего друг с другом и большим пользователей, но теперь менеджерам обоих магазинов нужна общая страница. Поэтому мне нужно создать логин, в котором пользователи могли бы получить доступ, используя только имя пользователя и пароль для Active Directory.Войти в различные активные каталоги programaticly в C#

На странице входа в систему должен быть список, чтобы выбрать активный каталог и после этого пользователь Пол (Paul @ad1 .com), и пользователь Пол (Paul @ad2 .com) с их соответствующим паролем должен иметь доступ к странице.

У меня есть код, необходимый для страницы входа в систему для одного AD и отлично работает, но я не знаю, можно ли сделать страницу доступной для двух AD. Нужна ли мне дополнительная настройка на сервере?

Я Google, но ничего не нашел.

+0

AD? – MickyD

+0

Не было бы проще (и дешевле) просто объединить активные каталоги и разделить их домены в активной директории? –

ответ

0

Если у вас есть код, необходимый для одного AD, вы можете очень хорошо использовать тот же код с небольшими изменениями для аутентификации против другого AD.

На основе имени домена вы можете определить параметры для AD и выполнить аутентификацию.

В тех случаях, когда вы используете два AD, только идентификация вопросов, относящихся к домену, например. ad1 \ имя пользователя или имя пользователя@ad1.com. Вы не сможете получить логин без указания имени домена.

+0

Поскольку я смог войти в систему без домена для разработки первого AD, я думал, что он будет таким же для другого, теперь для первого мне не нужно его указывать, а с другой стороны для второго AD необходим. – Seichi

0

Вы пробовали использовать LDAP Authentication и просто определяете его по-разному на основе выпадающего списка?

Что-то вроде: доверительные отношения

string adPath = string.Empty; 
string domainName = string.Empty; 
switch (ddlOption.ToString()) 
    { 
     case "ad1": 
      adPath = "ad1Path"; 
      domainName = "ad1"; 
      break; 
     case "ad2": 
      adPath = "ad2Path"; 
      domainName = "ad2"; 
      break; 
    } 
LdapAuthentication adAuth = new LdapAuthentication(adPath); 
if (adAuth.IsAuthenticated(domainName, username, password)) 
{ 
    //redirect Logic 
} 
Смежные вопросы