【问题标题】:asp.net MVC Multi-tenancy: Is there a way to override/influence User.Identity.IsAuthenticated?asp.net MVC 多租户:有没有办法覆盖/影响 User.Identity.IsAuthenticated?
【发布时间】:2010-04-16 11:25:30
【问题描述】:

我有一个自定义成员资格提供程序,它为我们的 asp.net 网络表单应用程序提供了很好的服务,现在我在一个新的 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 以便我们可以直接使用它?

对以上内容有任何建议或意见欢迎...

【问题讨论】:

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


    【解决方案1】:

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

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

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

    编辑/更新:

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

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

    【讨论】:

    • 不确定这是要走的路,因为无论身份验证 cookie 是否附加了任何其他数据,都需要进行检查...
    猜你喜欢
    • 2013-02-04
    • 1970-01-01
    • 2018-10-05
    • 1970-01-01
    • 1970-01-01
    • 2022-10-25
    • 1970-01-01
    • 2012-09-03
    • 2011-12-25
    相关资源
    最近更新 更多