Одобрить несколько приложений с одним провайдером членства sql - PullRequest
2 голосов
/ 18 июня 2011

У меня есть приложение asp.net, которое использует поставщика членства SQL. Я знаю, как получить несколько приложений, используя один и тот же поставщик членства, чтобы пользователь мог заходить на несколько сайтов и входить в систему с одинаковыми учетными данными. Однако требование к моему текущему проекту состоит в том, что каждому пользователю предоставляется доступ только к определенным приложениям. Например, пользователю выдаются учетные данные для доступа к сайту 1, затем в какой-то момент в будущем пользователю требуется доступ к сайту 2, а администратор / администратор должен разрешить пользователю доступ к сайту 2. Или когда менеджер создает пользователя изначально он / она одобряет доступ к трем сайтам (или любым другим), к которым пользователь должен получить доступ.

Таким образом, мой вопрос заключается в том, каков наилучший способ использования одного поставщика членства для многих приложений, но позволяет пользователям получать доступ только к тем приложениям, для которых они утверждены (так что менеджер может управлять доступом к приложениям, но дает пользователям 1 имя пользователя и пароль). )? Я думал об использовании ролей, но я уже использую роли в приложении для предоставления доступа к определенным функциям в приложении. Кажется, что это станет грязным.

Я прочитал около 50 похожих вопросов по SO, но ни один из них не касался требования одобрения приложения. Заранее спасибо.

1 Ответ

0 голосов
/ 18 июня 2011

Самый простой метод здесь - использовать роли.

Если вы добавите больше ролей (по одной для каждого приложения) для этой цели, это не будет большой проблемой.У вас есть базовая роль для каждого приложения, которое должно быть доступно, и проверьте это в Application_AuthenticateRequest или Application_AuthorizeRequest.Есть и другие способы сделать это, но это наименьшее влияние, проще всего написать код (ничего не требуется, кроме проверки ролей) и легко выполнить.

...