AuthorizeAttribute AuthorizeCore返回False

时间:2016-02-24 19:08:31

标签: c# asp.net-mvc

我花了两天的时间试图研究解决我的问题的方法而没有任何成功。我希望有人能指出我正确的方向。

我有一个应用程序分为3个独立的解决方案。

一个应用程序是登录中心,用户可以使用FormsAuthentication登录。 第二个是独立的模块,在这里并不重要。最近我被要求将第四个应用程序添加到登录中心。应用程序非常老,我在登录中心添加它时遇到问题。

4 app web config:

<authentication mode="Forms">
  <forms loginUrl="login center url" timeout="2880" name="cookie name" path="/" />
</authentication>

4 app AuthorizeAttribute:

  public class AppAuthorizeAttribute : AuthorizeAttribute  
{
    protected override bool AuthorizeCore(System.Web.HttpContextBase httpContext)
    {
        bool result = base.AuthorizeCore(httpContext);
        return result;  // here i always have false
    }
}

因此,当我尝试登录我的第4个应用程序时,我被重定向到登录应用程序获得成功登录并返回但我的AuthorizeCore总是返回false。 模块在IIS上托管在不同虚拟目录中的一个网页下。

这可能是什么问题?如果需要,我真的不知道并会分享更多细节。我还要补充一点,这个解决方案适用于其他2个应用程序,但我不知道为什么这个问题不适用于此。

1 个答案:

答案 0 :(得分:0)

感谢您的回复。这篇文章指导我回答Sharing a cookie between two websites on the same domain 4应用程序最初是用.Net 4编写的,当我将版本增加到4.5时,<httpRuntime targetFramework="4.5" />没有被添加到web配置中。我不知道为什么。