我已经为尝试实现这一目标做了很多研究,但我还没有真正找到一个明确的“最佳方法”来实现这一目标。我正在开发一个具有许多不同用户组的应用程序,本质上它允许多家公司使用同一个应用程序 - 非常类似于 Google 应用程序。这是我的意思的一个例子:
在 Google Apps 中 - 用户转到 mail.company.com -> 他们被重定向到 mail.google.com/a/company.com。
我了解如何使用 CNAME 记录,并且可以在将主机重定向到我的应用程序后从域中提取主机,以便我的应用程序将 URL 转换为 my.app.com/company.com。此外,我的所有路线都已配置为采用 {companyURL} 属性。
所以现在的问题变成了,我如何提供“动态”角色检查?似乎很容易创建一个自定义角色提供程序来设置用户的公司名称和该公司的其他角色,但我不知道如何将 {companyURL} 获取到授权过滤器。授权过滤器中是否可以有一个动态变量,或者我是否必须在每个控制器/动作中检查它(使用某些功能)?还是有另一种方法可以实现这一点,也许我还没有想到?
谢谢