我有一个自定义的会员提供商,它为我们的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,以便我们可以直接使用它?
对上述欢迎提出任何建议或意见......
答案 0 :(得分:0)
我找到了这个答案,看起来可能有所帮助:
Setup a route {tenant}/{controller}/{action}/{id} with ASP.NET MVC?
将通过该工作,看看它是否回答了我自己的问题......
修改/更新:强>
我最终找到了这个解决方案:
User.Identity.IsAuthenticated根本不受影响,所有表单身份验证都按原样使用,其他检查通过租户/子域检测完成。