ASP.NET MVC несколько отдельных групп пользователей - авторизация / аутентификация - PullRequest
1 голос
/ 29 июня 2009

Я провел много исследований, пытаясь достичь этого, но на самом деле я не нашел четкого «лучшего способа» для достижения этой цели. Я работаю над приложением, которое имеет много разных групп пользователей, по сути, оно позволяет нескольким компаниям использовать одно и то же приложение - очень похоже на приложения Google. Вот пример того, что я имею в виду:

В Службах Google - пользователь переходит на mail.company.com -> он перенаправляется на mail.google.com/a/company.com.

.

Я понимаю, как использовать записи CNAME, и могу извлечь хост из домена, как только он будет перенаправлен в мое приложение, чтобы мое приложение преобразовало URL-адрес в my.app.com/company.com. Кроме того, все мои маршруты были настроены на использование атрибута {companyURL}.

Итак, теперь возникает проблема: как мне обеспечить «динамическую» проверку ролей? Кажется, было бы достаточно легко создать пользовательский поставщик ролей, который устанавливает название компании пользователя и другие роли в рамках этой компании, но я не знаю, как получить {companyURL} в фильтре авторизации. Можно ли иметь динамическую переменную в фильтре авторизации или мне нужно проверять это внутри каждого контроллера / действия (используя некоторую функцию)? Или есть другой способ сделать это, о котором я, возможно, еще не думал?

Спасибо

1 Ответ

1 голос
/ 30 июня 2009

Я бы пошел с пользовательским классом поставщика ролей или пользовательским IAuthenticationFilter, если у вас уже есть роли, определенные в другой системе.

...