2009-06-29 52 views
1

我已经做了大量的研究,试图完成这个任务,但我还没有真正找到一个明确的方法来实现这个目标。我正在研究一个具有许多不同用户组的应用程序,实质上它允许多个公司使用相同的应用程序 - 非常像Google应用程序。以下是我的意思的示例:ASP.NET MVC多个不同组的用户 - 授权/认证

在Google Apps中 - 用户转到mail.company.com - >他们被重定向到mail.google.com/a/company.com。

我了解如何使用CNAME记录,并在主机已被重定向到我的应用程序后将其从域中拉出,以便我的应用程序将该URL转换为my.app.com/company.com。此外,我的所有路线都已配置为拥有{companyURL}属性。

所以现在的问题变成了,我该如何提供“动态”角色检查?看起来很容易创建一个自定义角色提供程序来设置用户的公司名称和其他角色,但我不知道如何将{companyURL}授权到授权过滤器。是否有可能在授权过滤器中有一个动态变量,或者我必须在每个控制器/操作(使用某个函数)中检查这个吗?或者还有另一种方法来完成这个,也许我还没有想到呢?

感谢

回答

1

我将与自定义角色提供程序类,或自定义IAuthenticationFilter去,如果你已经在另一个系统中定义的角色。

+0

谢谢 - 我想我将使用MVC中的OnAuthorization方法来运行基于调用Authorize()操作过滤器的控制器的一些登录。 – Tommy 2009-07-01 13:21:59