2

Я хочу интегрировать активный каталог на основе и sql azure для аутентификации пользователей для доступа к приложению, запущенному на лазурном.Как интегрировать активный каталог и sql azure для аутентификации пользователей для доступа к приложению, запущенному на azure

Некоторые пользователи находятся в активной директории, а некоторые - в базе данных sql azure. Что мне нужно, когда пользователь обращается к приложению, он должен запрашивать учетные данные, такие как имя пользователя и пароль. Теперь эта аутентификация выполняется с использованием активного каталога и sql azure.

Это очень важно любезно ответить

Спасибо


Я создал проект, в котором «Default.aspx» была моя домашняя страница

я говорил в статье http://www.developerfusion.com/article/121561/integrating-active-directory-into-azure/ для аутентификации через активный каталог. Он работает, когда пользователь вводит мой url всплывающее шоу, в котором запрашиваются имя пользователя и пароль, которые проверяются в локальном каталоге на локальном уровне.

После этого я добавил новую страницу под названием «login.aspx» в моем проекте с двумя текстовыми полями и кнопкой входа для аутентификации через таблицу sql azure. Эта таблица содержит столбцы для имени и пароля. Я также создал который будет перенаправлен на «Default.aspx» для пользователей, которые существуют в активном каталоге.

Я установил Login.aspx как свою домашнюю страницу.

Когда я запускаю свой проект, все же всплывающее окно для активной проверки подлинности каталога отображается автоматически.

Пожалуйста, ответьте, что делать?

+0

Почему [федерация вашей личности] (http://stackoverflow.com/a/5505030/175679) не используется [ADFS/WIF] (http://msdn.microsoft.com/en-us/security/aa570351) вместо синхронизации вашей информации AD в SQL Azure? – SliverNinja

+0

Запись всех пользователей не находится в активной папке. – var9287

+0

с ADFS/WIF, пользователи, находящиеся в активной директории, смогут получить доступ. Теперь проблема заключается в том, что некоторые данные пользователей находятся в базе данных sql azure. Я хочу, чтобы мое приложение аутентифицировало пользователей, хранящихся в базе данных Active Directory и sql azure. – var9287

ответ

0

Как я указываю в моем предыдущем ответе, пожалуйста, поместите страницу входа в папку, которая позволяет анонимный доступ:

Чтобы обойти эту проблему, пожалуйста, создать вложенную папку, чтобы поместить на страницу входа в систему, а также настроить сабвуфер чтобы разрешить доступ от пользователей. Например, что-то вроде:

<location 
    path="loginfolder"> 
<system.web> 
    <authorization> 
     <allow users="?"/> 
    </authorization> 
</system.web> 
</location> 

«loginfolder» означает имя папки, содержащей файл страницы входа.

но когда пользователь пытается Вход от формы Войти т.е. форму auhentication , всплывающие окна для проверки подлинности приходит вместо перенаправления на Default.aspx

Вы также можете проверить http://msdn.microsoft.com/en-us/library/b6x6shw7.aspx для получения дополнительной информации ,

С наилучшими пожеланиями,

Ming Xu.

+0

Это я сделал, я могу получить доступ к странице loginfolder/Loginpage.aspx, я имел в виду, когда я вводил имя и пароль и нажимал кнопку входа в систему, вместо того, чтобы перенаправлять на Default.aspx, я снова попросил аутентификацию на этот раз. Скажите, пожалуйста, что теперь делать? – var9287

+0

«вы можете назначить ему роль, поэтому он/она больше не является анонимным и ему разрешено просматривать ваш сайт« Как это сделать? – var9287

+0

Я делаю это на странице входа.aspx, который находится в «loginfolder» protected void Login1_Authenticate1 (отправитель объекта, AuthenticateEventArgs e) { Boolean flag = false; flag = authenticateuser (Login1.UserName, Login1.Password); // Этот метод проверяет имя и pwd frm db. if (флаг == true) { e.Authenticated = true; Login1.DestinationPageUrl = "~/Default.aspx"; } еще e.Authenticated = false; } Всплывающие окна отображаются даже после ввода правильного имени пользователя и пароля. Ответ Pls? – var9287

1

Вы имеете в виду, что у вас есть два механизма аутентификации, один использует Active Directory, а другой использует пользовательское имя пользователя/пароль? На самом деле, было бы лучше, если бы мы вручную не запрашивали учетные данные пользователей Active Directory в нашем собственном приложении. В противном случае он будет крадовать учетные данные пользователя Windows в нашем приложении. Используйте встроенную проверку подлинности Windows. В Windows Azure у нас есть два варианта. Один из них заключается в объединении ADFS, как указано SilverNinja. Другой - использовать Windows Azure Connect для присоединения к нашему локальному домену, поэтому мы можем использовать стандартную проверку подлинности Windows. Я хотел бы предложить вам проверить http://msdn.microsoft.com/en-us/library/windowsazure/gg433029.aspx для получения дополнительной информации.

После этого мы можем предоставить страницу параметров знака, которая запрашивает, хочет ли пользователь использовать учетные данные Windows или пользовательские учетные данные. Когда пользователь выбирает проверку подлинности Windows, мы можем перенаправить пользователя на страницу входа в ADFS (или если экземпляр Azure присоединился к локальному домену, текущий вход будет прозрачным). Если пользователь выбирает пользовательские учетные данные, мы можем запросить имя пользователя/пароль, а затем выполнить аутентификацию с помощью SQL Azure.

С наилучшими пожеланиями,

Ming Xu.

0

Если вы используете функцию добавления ссылки STF WIF, она создаст файл конфигурации, в котором вам необходимо будет войти в STS перед использованием вашего веб-сайта. Вы можете увидеть что-то подобное в вашем web.config:

<authorization> 
    <deny users="?"/> 
</authorization> 

Таким образом, если пользователь не вошел в STS (в вашем случае, ADFS), он/она будет не в состоянии увидеть все страницы.

Чтобы обойти это, создайте подпапку, чтобы поместить свою страницу входа в систему, и настройте подпапку, чтобы разрешить доступ от любых пользователей. Например, что-то вроде:

<location 
    path="loginfolder"> 
<system.web> 
    <authorization> 
     <allow users="?"/> 
    </authorization> 
</system.web> 
</location> 

На странице входа в систему, вы можете сначала позволить пользователю выбрать между проверкой подлинности Windows и пользовательской аутентификации. Не запрашивайте учетные данные пользователей еще. Как только пользователь выбирает проверку подлинности Windows, перенаправьте пользователя на другую страницу, которая не находится под логином. Это вызовет нормальное поведение WIF, которое требует от пользователя входа в STS. Если пользователь выбирает пользовательскую проверку подлинности, отобразите форму для входа в систему, и после того, как пользователь зайдет, вы можете назначить ему роль, чтобы он/она больше не являлся анонимным и ему разрешалось просматривать ваш сайт.

С наилучшими пожеланиями,

Ming Xu.

+0

Сюй Сэр: Я на шаг впереди. Я работал в соответствии с вашим решением, но когда пользователь пытается выполнить вход в систему из формы входа в систему. I.e создает аутентификацию, всплывающее окно для проверки подлинности Windows приходит вместо перенаправления на Default.aspx. Я не могу аутентифицировать своего пользователя через проверку подлинности форм. – var9287