Я провел много исследований, пытаясь достичь этого, но на самом деле я не нашел четкого «лучшего способа» для достижения этой цели. Я работаю над приложением, которое имеет много разных групп пользователей, по сути, оно позволяет нескольким компаниям использовать одно и то же приложение - очень похоже на приложения Google. Вот пример того, что я имею в виду:
В Службах Google - пользователь переходит на mail.company.com -> он перенаправляется на mail.google.com/a/company.com.
.
Я понимаю, как использовать записи CNAME, и могу извлечь хост из домена, как только он будет перенаправлен в мое приложение, чтобы мое приложение преобразовало URL-адрес в my.app.com/company.com. Кроме того, все мои маршруты были настроены на использование атрибута {companyURL}.
Итак, теперь возникает проблема: как мне обеспечить «динамическую» проверку ролей? Кажется, было бы достаточно легко создать пользовательский поставщик ролей, который устанавливает название компании пользователя и другие роли в рамках этой компании, но я не знаю, как получить {companyURL} в фильтре авторизации. Можно ли иметь динамическую переменную в фильтре авторизации или мне нужно проверять это внутри каждого контроллера / действия (используя некоторую функцию)? Или есть другой способ сделать это, о котором я, возможно, еще не думал?
Спасибо