Контроль доступа Windows Azure с членством в ASP.NET - PullRequest
3 голосов
/ 26 сентября 2011

У меня есть существующее производственное приложение, которое использует vanilla ASP.Net Membership для аутентификации.

Однако я хотел бы предоставить другие средства аутентификации, а также текущую систему членства ASP.net, такую ​​как Facebook.

Служба контроля доступа Windows Azure делает это чрезвычайно простым и понятным. При условии, что вы запускаете новое веб-приложение с нуля.

Итак, в этом случае, как мне

  1. Интегрировать аутентификацию службы контроля доступа в мое приложение, не затрагивая текущую систему входа в систему и ее пользователей?
  2. Мигрировать пользователей или Link Link? (не уверен, возможно ли это вообще)

Спасибо всем

Roberto

Ответы [ 3 ]

2 голосов
/ 06 октября 2011

Вам необходимо создать собственного провайдера идентификации на основе вашей базы данных участников. См. Эту статью о пользовательских поставщиках удостоверений WS-Federation, которые могут быть интегрированы для контроля доступа: http://msdn.microsoft.com/en-us/library/windowsazure/gg185933.aspx

Также смотрите эту статью о том, что было написано поверх базы членства: http://blogs.msdn.com/b/vbertocci/archive/2009/04/23/enhance-your-asp-net-membership-based-website-by-adding-identity-provider-capabilities.aspx

1 голос
/ 20 февраля 2012

Подход к созданию провайдера идентификации (IP) на основе вашей членской базы данных ASP.NET, который, по мнению Пола Тинга, действителен.

Однако это означает, что если вы просто создадите IP-адрес, вы разрешите войти в систему всем людям, которым разрешены другие IP-адреса (например, Google или Facebook). Я предполагаю, что это не то, что вы хотите - вы все равно хотите, чтобы люди сначала регистрировались (либо просто с помощью имени пользователя-пароля, либо с помощью своего внешнего удостоверения личности). Если это так, то ваша задача заключается в следующем:

  1. Добавить хранилище данных для внешних идентификаторов пользователей, которое связано с существующей таблицей пользователей.
  2. Измените обработку входа в ACS в вашем приложении, чтобы убедиться, что идентичность, возвращенная из ACS, действительно существует в вашей базе данных участников.
  3. Выполните member вход в систему (вместо федеративного входа), если вы нашли возвращенную идентичность в вашей базе данных.
  4. Добавьте внешнюю идентификационную привязку во время процесса регистрации, чтобы ваша таблица идентификаторов была фактически заполнена.
  5. (необязательно). Повторно используйте основную часть механизма # 4, чтобы предоставить возможность присоединять внешнюю идентификацию к существующим учетным записям пользователей (т. Е. У меня уже есть нормальное членство с вами, и теперь я хочу добавить возможность входа в систему с помощью Google). а также, например).

Не существует ни одного учебного пособия / пошагового руководства для достижения этого (или я его не нашел), поэтому мне пришлось извлечь кусочки из различных источников, чтобы он работал. Пожалуйста, дайте мне знать в комментарии, если я правильно понял ваше требование, и я добавлю руководство о том, как это настроить. Ура!

0 голосов
/ 20 февраля 2012

Возможно, уже немного поздно, но ознакомьтесь со следующими постами в блоге другого участника Windows Azure MVP - Доминика Байера:

Бесценные показания, которые помогут вам в любом случае!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...