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