Привет, ребята, мы создаем приложение 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? Что лучше всего подходит для удовлетворения наших требований?
Большое спасибо за ваш вклад.