Установка:
- Несколько веб-серверов с синхронизированными
проверка подлинности форм.
- Несколько приложений asp.net, работающих на этих серверах.
Что работает:
- SSO на всех серверах
- Авторизация с использованием ролей asp.net
Что не так хорошо:
- Все роли являются «глобальными» - у меня есть «admin-app1», «admin-app2» и т. Д.
Вопрос:
Я знаю, что это можно решить, определив разные «ApplicationNames» для каждого из различных приложений, но как проще всего составить список всех различных приложений, в которых участвует пользователь?
Я бы хотел сделать что-то похожее на:
CurrentUser.Applications()
получить список «всех приложений, в которых текущий пользователь играет какую-либо роль».
До сих пор я использовал
Roles.GetRolesForUser()
для составления списка, не очень элегантного или масштабируемого.
Используя SqlRoleProvider, я могу взломать БД, чтобы получить полный список приложений, а затем составить список приложений для пользователя, запросив поставщиков ролей различных приложений. Мой лучший снимок пока что, но это не лучшее решение ...
Любые подсказки или комментарии?
BR, Jens