Привет, ребята, мы создаем приложение ASP.NET MCV 3 с нуля, работающее на Windows Azure. О уровне аутентификации и авторизации, который мы планируем использовать в службе контроля доступа. Я просмотрел некоторые статьи о ACS, где я получил основную идею, но у меня все еще есть некоторые сомнения по этому поводу.Azure ACS - реализация лучшей практики
Я понимаю, что с использованием ACS мы передаем процесс аутентификации одному или нескольким провайдерам удостоверений (IP), в основном мы доверяем другой системе (то есть Microsoft Live ID) для аутентификации наших пользователей. Базовый процесс очень прост: на этапе аутентификации мы перенаправляем (ACS) пользователя на один из наших «доверенных» IP-адресов, который перенаправляет пользователя (с действующим токеном) в ACS и, в конечном итоге, в наше приложение. Здесь возникает ряд вопросов ...
Поскольку мы не хотим, чтобы все пользователи с учетной записью Live ID могли получить доступ к нашему приложению, я предполагаю, что должен быть еще один процесс проверки этого пользователя и проверки его регистрации в нашем приложении. Вопрос в том, где? В ACS или в нашем приложении.?
У меня есть идея об этом, но я не знаю, правильно ли это сделать: На этапе регистрации система (наше веб-приложение) спрашивает у пользователя, какой IP-адрес (например, Live ID, Google, Facebook и наше приложение). Он хочет использовать для аутентификации в приложении. Затем пользователь проходит процесс аутентификации в системе IP, и когда он возвращается, мы сохраняем его имя пользователя (имя пользователя IP) в нашей БД. Итак, в следующий раз, на этапе аутентификации, мы можем проверить, зарегистрирован ли этот пользователь в нашей системе.
Если приведенная выше теория верна, это означает, что в нашем приложении. нам нужно создать наш членский провайдер для хранения имен пользователей, исходящих от IP-адресов и пользователей, которые выбрали наше приложение. глоток. Правильно ли я? Какова наилучшая практика для разработки вышеуказанного процесса?
Теперь давайте поговорим об авторизации и «Ролях». Как это работает с ACS? Поддерживает ли ACS несколько ролей на пользователя?
Снова я понимаю, что с помощью ACS вы можете создать ряд «групп правил», связанных с IP, а не с одним пользователем. Если это правильно, как мы управляем пользователями в роли в нашем приложении? Скажем, например, что у нас есть несколько ролей, и наши пользователи могут быть связаны с этими ролями, можем ли мы использовать ASC для управления им?
Итак, последние вопросы: Включает ли ACS весь процесс аутентификации и авторизации? Нужно ли нам использовать провайдер членства .net? Какова наилучшая практика для покрытия наших требований?
Большое спасибо за ваш вклад.
Эндрю большое спасибо за ваш ответ. Итак, о ролях в ACS я был прав, в основном мы не можем связать пользователя с ролью, как это можно сделать в провайдере членства .net (UsersInRoles), но мы можем связать роль на основе IP. Как насчет на стадии регистрации? Что мы должны хранить в нашей базе данных, чтобы распознать пользователя (как часть наших клиентов) на этапе аутентификации? – Francesco
Нет, я говорю, что вы ** можете ** ассоциировать пользователей с ролями с помощью ACS. Я расширил свой ответ выше, чтобы охватить это. –