asp.net MVC多租户:有没有办法覆盖/影响User.Identity.IsAuthenticated?

时间:2010-04-16 11:25:30

标签: c# asp.net-mvc multi-tenant

我有一个自定义的会员提供商,它为我们的asp.net Web表单应用程序提供了很好的服务,现在我正在一个新的asp.net MVC多租户应用程序中使用它。

成员资格提供程序在MVC中运行良好,就像在webforms中一样,但现在想要添加一个额外的约束,我们可以检查用户是否已经过特定“租户”的身份验证和身份验证。我们目前正在跟踪基于URL的当前“TenantID”并检测对URL的任何更改,而不是仅仅检查User.Identity.IsAuthenticated,我们在Controller和View基类中有类似的内容。

public bool UserIsAuthenticated
{
    get
    {
        return (User.Identity.IsAuthenticated && LoggedInUserTenantID == CurrentTenantID);
    }
}

我们如何覆盖/替换User.Identity.IsAuthenticated,以便我们可以直接使用它?

对上述欢迎提出任何建议或意见......

1 个答案:

答案 0 :(得分:0)

我找到了这个答案,看起来可能有所帮助:

Setup a route {tenant}/{controller}/{action}/{id} with ASP.NET MVC?

将通过该工作,看看它是否回答了我自己的问题......

修改/更新:

我最终找到了这个解决方案:

User.Identity.IsAuthenticated根本不受影响,所有表单身份验证都按原样使用,其他检查通过租户/子域检测完成。