Azure ACS - реализация передового опыта

Привет, ребята, мы создаем приложение ASP.NET MCV 3 с нуля, работающее на Windows Azure. Что касается уровня аутентификации и авторизации, мы думаем использовать службу контроля доступа. Я просмотрел несколько статей об ACS, в которых я получил основную идею, но у меня все еще есть некоторые сомнения.

Насколько я понимаю, с помощью ACS мы передаем процесс аутентификации одному или нескольким поставщикам удостоверений (IP), в основном мы доверяем другой системе (например, Microsoft Live ID) аутентификацию наших пользователей. Базовый процесс очень прост: на этапе аутентификации мы перенаправляем (это делает ACS) пользователя на один из наших «доверенных» IP-адресов, который перенаправляет пользователя (с действующим токеном) в ACS и, в конечном итоге, в наше приложение. Здесь возникает ряд вопросов…

Поскольку мы не хотим, чтобы все пользователи с учетной записью Live ID могли получить доступ к нашему приложению, я предполагаю, что должен быть другой процесс для проверки этого пользователя и проверки того, зарегистрирован ли он в нашем приложении. применение. Вопрос где? В СКУД или в нашем приложении.?

У меня есть представление об этом, но я не знаю, правильно ли это делать: На этапе регистрации система (наше веб-приложение) спрашивает пользователя, какой IP-адрес (например, Live ID, Google, Facebook и наше приложение) он хочет использовать для аутентификации в приложении.Затем пользователь проходит процесс аутентификации в IP-системе, и когда он возвращается, мы сохраняем его имя пользователя (IP-имя пользователя) в нашей БД. Итак, в следующий раз, на этапе аутентификации, мы можем проверить, зарегистрирован ли этот пользователь в нашей системе.

Если приведенная выше теория верна, значит, в нашем приложении. нам нужно создать нашего поставщика членства для хранения имен пользователей, поступающих с IP-адресов и пользователей, которые выбрали наше приложение. глоток. Я прав? Как лучше всего разработать описанный выше процесс?

Теперь поговорим об авторизации и «ролях». Как это работает с ACS? Управляет ли ACS несколькими ролями для каждого пользователя?

Я снова понимаю, что с помощью ACS вы можете создать несколько «групп правил», связанных с IP, а не с одним пользователем. Если это правильно, как нам управлять ролевыми пользователями в нашем приложении? Скажем, например, что у нас есть несколько ролей, и наши пользователи могут быть связаны с этими ролями, можем ли мы использовать ASC для управления этим?

Итак, последние вопросы: Охватывает ли сам ACS весь процесс аутентификации и авторизации? Нам все еще нужно использовать поставщика членства .net? Что лучше всего подходит для удовлетворения наших требований?

Большое спасибо за ваш вклад.

5
задан Francesco 31 January 2012 в 10:40
поделиться