C# authorized属性authorized core返回False

C# authorized属性authorized core返回False,c#,asp.net-mvc,C#,Asp.net Mvc,我花了两天时间试图研究解决我问题的方法,但没有成功。我希望这里有人能给我指出正确的方向 我有一个应用程序分为3个独立的解决方案 其中一个应用是登录中心,用户可以使用FormsAuthentication登录。 第二个是独立的模块,在这里并不重要。最近我被要求将第四个应用程序添加到登录中心。应用程序非常旧,我无法将其添加到登录中心 4应用程序web配置: <authentication mode="Forms"> <forms loginUrl="login center u

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

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

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

4应用程序web配置:

<authentication mode="Forms">
  <forms loginUrl="login center url" timeout="2880" name="cookie name" path="/" />
</authentication>
所以当我尝试登录到我的第四个应用程序时,我被重定向到登录应用程序获取成功登录并返回,但我的AuthorizeCore总是返回false。 模块托管在IIS上不同虚拟目录下的一个网页下


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

谢谢您的回复。这篇文章告诉我我的答案4应用程序最初是用.NET4编写的,当我将版本增加到4.5时,这个
没有添加到web配置中。我不知道为什么

基本AuthorizeCore构造函数做什么?您是否检查了请求中是否存在身份验证cookie?您是否在第四个应用程序中设置了机器密钥?这些应该与登录中心相匹配。本文还可以帮助您:
  public class AppAuthorizeAttribute : AuthorizeAttribute  
{
    protected override bool AuthorizeCore(System.Web.HttpContextBase httpContext)
    {
        bool result = base.AuthorizeCore(httpContext);
        return result;  // here i always have false
    }
}