/ / Увійти в систему Azure активного каталогу Windows з єдиним входом за допомогою ASP.NET - asp.net, azure, контролера перегляду моделі, авторизації, одноразового входу

Windows Azure Active Directory однократний вхід з використанням ASP.NET - asp.net, azure, model-view-controller, авторизація, єдиний вхід

У мене було розроблено кілька додатківвикористовуючи ASP.NET, усі програми використовують модуль захисту за замовчуванням, щоб зрозуміти, у кожної програми є своя БД, яка містить таблицю для користувачів та сторінку входу, використовуючи цю таблицю для авторизації користувачів "ім'я користувача та пароль", і всі програми розгорнуто під тим самим доменом. В даний час ми працюємо над тим, щоб застосувати рішення SSO, яке застосовується у всіх програмах. Я маю дослідження для гарного способу застосувати його без змін та внести зміни до поточного модуля захисту додатків. я знайшов своє Увімкнено єдиний вхід у систему Windows Azure Active Directory який повинен мати активний обліковий запис каталогів для кожного користувача. питання є.

1- Які зміни слід застосувати в моїх програмах для використання SSO, знаючи, що програми розробляються з різною версією (ASP.NET 2008, 2010 тощо)?

2- Я річ, ми повинні зробити якесь відображення між поточною таблицею користувачів з обліковим записом активного каталогу, це правильно?

3- Чи є якісь зміни, які будуть внесені на поточному екрані входу?

Дякую.

Відповіді:

0 для відповіді № 1

1- Які зміни слід застосувати в моїх програмах для використання SSO, знаючи, що програми розробляються з різною версією (ASP.NET 2008, 2010 тощо)?

Наскільки я знаю, ідентифікаційна підтримка має власний логін. Якщо у вашій програмі використовується ідентифікація, ви можете використовувати OpenID Connect для входу користувачів від одного орендатора Azure Active Directory, використовуючи програмне забезпечення ASP.Net OpenID Connect OWIN.

Після успішного входу в систему ідентифікація автоматично заповнить інформацію про користувача в User.Identity.Claims.

Якщо користувач отримує доступ до другої програми, програма автоматично надсилає запит на отримання інформації про користувача від AD відповідно до клієнтського файлу cookie. Це дозволить SSO.

Але якщо ви використовуєте членство, членство не підтримує власні дані для входу. Тому, якщо ви хочете використовувати azure AD для входу, я пропоную вам збільшити версію .net Framework версії та використовувати ідентичність.

Більш детально про те, як увімкнути вхід у azure AD, ви можете посилатися на це стаття.

Я маю на увазі, що ми маємо зробити якесь зіставлення між поточною таблицею користувачів з обліковим записом активного каталогу, це правильно?

Це відповідно до вашої вимоги. Після використання логіну в обліковому записі azure AD, ви можете використовувати коди нижче, щоб отримати інформацію про користувача. Тоді ви можете зіставити користувача або щось інше.

[Authorize]
public ActionResult SomeAction()
{
var identity = (ClaimsIdentity)User.Identity;
IEnumerable<Claim> claims = identity.Claims;
...
}

3- Чи є якісь зміни, які будуть внесені на поточному екрані входу?

Ви можете включити кнопку на сторінці входу, щоб перенаправити користувача на сторінку входу в блакитний AD.

Більш детально, ви можете посилатися на це зразок коду.