Как сопоставить Facebook аутентифицировать пользователей с ролями, используя asp.net RoleProvider? - PullRequest
0 голосов
/ 10 марта 2011

Я пытаюсь переключить свой сайт с sql-провайдера asp.net на использование Facebook connect для выполнения единого входа OAuth. Я хотел бы продолжать использовать поставщика ролей, поскольку он довольно легко защищает разделы моего сайта, помечая класс контроллера или методы контроллера атрибутом Authorize (Roles = "..."). Сайт еще не запущен, поэтому я, если смогу, полностью откажусь от членства в Asp.net. (сохраняя роли и профиль провайдера)

У меня есть Facebook Connect, регистрирующий пользователя, и я могу получить его информацию. Но как мне связать это с ролью?

Мне бы хотелось, чтобы система автоматически добавляла нового пользователя в роль «SuperHero» после того, как он аутентифицирует и авторизует мое приложение.

Я здесь на пути? Есть ли лучший способ обрабатывать роли при использовании OAuth2? Я хотел бы добавить других поставщиков OAuth позже.

Альтернативным подходом было бы сохранить членство в asp, затем, когда я захожу в систему через Facebook, я могу найти его запись и войти в него с aspmembership. Но это кажется небрежным.

Некоторый пример кода был бы полезен, и я думаю, что другие тоже сочли бы его полезным.

ТНХ, Dan

1 Ответ

1 голос
/ 10 марта 2011

Самый простой способ сделать это - на самом деле реализовать FacebookMembershipProvider для себя. Таким образом, он естественно связывается со всеми другими провайдерами. Основными недостатками являются: а) много кода b / c Членство - это толстый интерфейс, и б) некоторая глупость б / с, предполагающая, что вы будете использовать пароли и т. Д., Что, очевидно, вам не нужно для OAuth.

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