我有一个使用Azure Active Directory作为SSO的.net项目。经过测试,一切都在本地运行良好。
我在具有2个负载均衡器的环境中部署了项目,并且我开始收到错误消息:
此页面无效 xxx.com重定向了你太多次了。 尝试清除您的cookie。 ERR_TOO_MANY_REDIRECTS
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.NameIdentifier;
//This is the line causing the issue
GlobalFilters.Filters.Add(new RequireHttpsAttribute());
}
在chrome中,网站正确加载但在IE中,为OpenId创建的Cookie太多了。
我也尝试了这个:
protected void Application_BeginRequest()
{
if (!Context.Request.IsSecureConnection)
Response.Redirect(Context.Request.Url.ToString().Replace("http:",
"https:"));
}
我甚至尝试过KentorOwin:
app.SetDefaultSignInAsAuthenticationType
(CookieAuthenticationDefaults.AuthenticationType);
app.UseKentorOwinCookieSaver();
app.UseCookieAuthentication(new CookieAuthenticationOptions());
但似乎没有任何效果。
请帮忙吗? 谢谢。
答案 0 :(得分:0)
我开始知道我正在使用的环境是接受HTTPS作为请求,然后重定向到HTTP,因为有负载均衡器。
可能是probs的原因。