Asp.net mvc MVC&x27;s ActionExecutingContext HttpContext.User.Identity.IsAuthenticated在登录多个浏览器选项卡时返回False
在自定义ActionFilterAttribute的OnActionExecuting方法期间,我们确保用户在执行某些操作之前仍然登录。我们通过执行类似于以下伪代码的操作来实现这一点:Asp.net mvc MVC&x27;s ActionExecutingContext HttpContext.User.Identity.IsAuthenticated在登录多个浏览器选项卡时返回False,asp.net-mvc,forms-authentication,iprincipal,browser-tab,Asp.net Mvc,Forms Authentication,Iprincipal,Browser Tab,在自定义ActionFilterAttribute的OnActionExecuting方法期间,我们确保用户在执行某些操作之前仍然登录。我们通过执行类似于以下伪代码的操作来实现这一点: public override void OnActionExecuting( ActionExecutingContext filterContext ) { if ( filterContext.HttpContext.User.Identity.IsAuthenticated ) {
public override void OnActionExecuting( ActionExecutingContext filterContext )
{
if ( filterContext.HttpContext.User.Identity.IsAuthenticated )
{
// Do something...
}
}
我有多个站点用于在同一个域下运行的多个客户端,唯一的区别是虚拟目录名。每个虚拟目录实际上指向相同的文件夹/代码库,URL/virdir名称指示要从嵌套的/Clients目录中使用哪个“客户端配置文件”的代码。不确定是否需要site/code/IIS配置中的那个么多详细信息,但提供这些信息以防问题的罪魁祸首
如果我尝试使用浏览器的多个实例登录到多个站点,一切正常。当我尝试在站点周围导航时,IsAuthenticated检查返回true
但是,如果我尝试使用带有多个选项卡的单一浏览器登录多个站点,我会不断地来回注销。如果我登录到站点A,我可以四处导航,但一旦我登录到站点B,如果我尝试在站点A中的任何位置导航,IsAuthenticated将返回false
这是预期的行为吗?有解决办法吗
更新:我现在只能在IE中重现这种行为。在Firefox和Chrome中,无论我在同一个浏览器/多个选项卡上还是在多个浏览器上,我都会被引导到登录屏幕。IE处理饼干的方式有区别吗?或者Cookie不是罪魁祸首吗?在不了解任何详细设置的情况下,我预计会发生这种情况 假设: