3

わかりました、これは少し注意が必要です。ASP.NET MVC 3でフォーラムを実装しています。ユーザーが質問を投稿したいのですが、ログインしていない場合は、ログオンページにリダイレクトされます。returnUrlパラメーターがログオンページに渡されます。ただし、returnUrlパラメーターには別のreturnUrlパラメーターも含まれています。したがって、ログオンページに渡されるreturnUrlパラメータは次のようになります。

"/forum/NewTopic?boardId=8&returnUrl=%2Fforum%2FBoard%2F8"

ただし、Request["returnUrl"]は次のようになります。

"/forum/NewTopic?boardId=8&returnUrl=%2Fforum%2FBoard%2F8,/forum/Board/8"

最後に追加されたビットに注意してください、それはあるべきではありませんか?適切なreturnUrlを取得するにはどうすればよいですか?

ただし、コントローラーのアクションメソッドに文字列returnUrl引数がある場合、これは正しいreturnUrl値になります。

4

1 に答える 1

1

MVC3でもこの問題が発生しました。リダイレクトページが「ログイン」であるかどうかを確認し、フラグを設定して、returnUrlパラメーターを追加しないようにします(これは最後に最後に追加されたビットです)。

この方法では、再度入力されることはありません。

于 2012-09-14T15:14:10.150 に答える