我是一個基於表單的身份驗證模塊的工作MS SQL報告其在這裏描述的服務與特殊字符的工作:RedirectFromPage不要在RETURNURL
到目前爲止好,但我碰到這個問題。 我調用的URL重定向到登錄頁面進行身份驗證,然後頁面重定向回到url。
URL樣本電話:
http://thor/ReportServer/Pages/ReportViewer.aspx?%2fSampleUserReport&rs:Command=Render
此行崩潰:
FormsAuthentication.RedirectFromLoginPage(m_username, false);
例外:
System.Web.HttpException: Der für die Umleitung von Anforderungen angegebene Rückgabe-URL ist ungültig.
bei System.Web.Security.FormsAuthentication.GetReturnUrl(Boolean useDefaultIfAbsent)
bei System.Web.Security.FormsAuthentication.GetRedirectUrl(String userName, Boolean createPersistentCookie)
bei TQsoft.Windows.Products.SSRS.Authentication.Logon.ServerBtnLogon_Click(Object sender, EventArgs e)
調查和調試後,所以我發現,如果我跳過&rs:Command=Render
它的工作原理。
因此,我可以想象製造問題的唯一特殊字符是:
字符。
任何想法如何使它工作,因爲報告服務與導航中的那些人一起工作了很多。
UPDATE
事實證明,我有我自己重定向這樣的:
Response.Redirect(Request.QueryString["ReturnUrl"].Replace(":","%3A"));
Context.ApplicationInstance.CompleteRequest();
但是,這將引發另一個異常:
System.Threading.ThreadAbortException: Der Thread wurde abgebrochen.
bei System.Threading.Thread.AbortInternal()
bei System.Threading.Thread.Abort(Object stateInfo)
bei System.Web.HttpResponse.End()
bei System.Web.HttpResponse.Redirect(String url, Boolean endResponse)
bei System.Web.HttpResponse.Redirect(String url)
bei TQsoft.Windows.Products.SSRS.Authentication.Logon.ServerBtnLogon_Click(Object sender, EventArgs e)
我真的對ASP新秀.net,但開始討厭它,而RoR贏得atm給我。
工作,迄今爲止感謝。但是這給我帶來了另一個問題來處理和解析returnUrl:S任何解決方案:)? – YvesR
對不起,但我從來沒有處理過returnUrl情況:S –
標記你的問題作爲答案,因爲它給我帶來了正確的做法。我踢了這些FormAuthentication的東西,手動完成。 Imho它在框架中是一個bug,它不會urlencode ReturnUrl。 – YvesR