2011-02-08 24 views
0

私は特定のページを表示するために認証する必要があるWebアプリケーションを持っています。認証後にURLからASP.Netリダイレクト

ユーザーはURLは次の形式であるLogin.aspxのページにある場合には、認証が再直接Login.aspxの

への操作を実行してweb.configファイルに強制されています

http://localhost:51101/Login.aspx?ReturnUrl=%2fSupport.aspx

ユーザーが認可した後、私はASP.NetがユーザーをSupport.aspxページにリダイレクトすることを期待しますが、これは起こりません。

Support.aspxは認証が必要な唯一のページではないため、コードビハインドファイルでリダイレクトすることはできません。

私には欠けているweb.configの設定はありますか?

はありがとう

編集:

基本認証ロジック

  if (!Membership.ValidateUser(user, password)) 
      { 
       errorId.Text = "Incorrect username or password"; 
      } 
      else 
      { 
       FormsAuthentication.SetAuthCookie(user, true); 
       // I can add a re-direct here, but it won't do the job since there are multiple pages that require authentication 
      } 
+0

FormsAuthentication.RedirectFromLoginPage() 

メソッドを呼び出す必要がありますin。 –

+0

ログインに成功すると、どこからリダイレクトされますか? –

+0

login.aspxにコードはありますか?もしそうなら、私たちに見せてください。 –

答えて

3

フォーム認証を使用していますか?もしそうなら、あなたはおそらく、ログインページがまた出てユーザーをログに記録する責任があるとちょうどユーザーがログインした後にそうされるLogin.aspxの

Reference

+0

パーフェクト。ありがとうございます - 作品! –

0

私はASP.NETがあなたのためにそれを処理するために持っている方法があるとは思いません。 Global.asax Session_Start()で手動でクエリー文字列の "returnUrl"を検索し、ユーザーがログインしている場合は値にリダイレクトする必要があります。

編集:間違っています。私を訂正するJohn Pickに感謝します。

+3

通常、ASP.NETは自動的にReturnUrlを処理します。 –

+0

訂正:通常はがReturnUrlを自動的に処理します。現在の問題にはが含まれていません。 –

関連する問題