在Intuit App Center中,当用户点击我的应用时,他们应该被发送到www.myweb.com \ OpenIdHandler.aspx。
Fiddler表示:
GET https://appcenter.intuit.com/app/b7nyqfscsm
302 Found to https://myweb.com/OpenIdHandler.aspx
CONNECT http://myweb.com:443
200 Connection Established ()
CONNECT http://myweb.com:443
200 Connection Established ()
GET https://appcenter.intuit.com/app/b7nyqfscsm
302 Found to https://myweb.com/OpenIdHandler.aspx
CONNECT http://myweb.com:443
200 Connection Established ()
CONNECT http://myweb.com:443
200 Connection Established ()
CONNECT http://myweb.com:443
200 Connection Established ()
GET https://myweb.com/OpenIdHandler.aspx
302 Found to /Default.aspx
GET https://myweb.com/Default.aspx
302 Found to /Login.aspx
GET https://myweb.com/Login.aspx
200 OK (text/html)
我在OpenIdHandler.aspx中启用了page_load的日志记录,没有任何内容被记录,所以我知道OpenIdHandler.aspx没有调用page_load。
如果我在登录页面登陆后https://myweb.com/OpenIdHandler.aspx(但未登录),所有工作都按预期进行(它表明我通过Intuit App Center / Intuit OpenID登录)。
问题:为什么不调用OpenIdHandler.aspx Page_load?
答案 0 :(得分:2)
从fiddler输出看起来你没有登录,OpenIdHandler.aspx正在重定向(通过302 Found重定向)到Default.aspx,然后重定向到Login.aspx。
检查您的身份验证设置,如果OpenIdHandler.aspx需要授权,重定向将在页面上的任何代码执行之前发生。看起来您需要确保OpenIdHandler.aspx不需要授权。
答案 1 :(得分:0)
感谢你对这个模糊问题的猜测。
罪魁祸首在于Global.asax.cs:
void Session_Start(object sender, EventArgs e)
{
// Code that runs when a new session is started
Response.Redirect("Default.aspx"); //<--------------
}
如果你发表评论,那么一切都很开心!