代码之家  ›  专栏  ›  技术社区  ›  Mark Redman

ASP.NET MVC多租户:是否有方法重写/影响user.Identity.IsAuthenticated?

  •  1
  • Mark Redman  · 技术社区  · 15 年前

    我有一个自定义的memebership提供程序,它为我们的ASP.NET Web窗体应用程序提供了很好的服务,现在正在一个新的ASP.NET MVC多租户应用程序中使用它。

    成员资格提供程序在MVC中工作得很好,就像在WebForms中一样,但现在想要添加一个附加的约束,在这个约束中,我们可以检查用户是否同时经过了特定“租户”的身份验证和身份验证。我们目前正在基于URL跟踪当前的“tenantid”,并检测到对URL的任何更改,而不仅仅是检查user.identity.isauthenticated,我们的控制器和视图基类中有类似的内容。

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

    我们如何重写/替换user.identity.isauthenticated以便直接使用它?

    关于上述欢迎的任何建议或评论…

    1 回复  |  直到 14 年前
        1
  •  0
  •   Community CDub    8 年前

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

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

    会解决这个问题,看看它是否能回答我自己的问题…

    编辑/更新:

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

    user.identity.isauthenticated完全不受影响,所有表单身份验证都按原样使用,其他检查通过租户/子dmain检测完成。