我花了两天的时间试图研究解决我的问题的方法而没有任何成功。我希望有人能指出我正确的方向。
我有一个应用程序分为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个应用程序,但我不知道为什么这个问题不适用于此。
答案 0 :(得分:0)
感谢您的回复。这篇文章指导我回答Sharing a cookie between two websites on the same domain 4应用程序最初是用.Net 4编写的,当我将版本增加到4.5时,<httpRuntime targetFramework="4.5" />
没有被添加到web配置中。我不知道为什么。