1

保護したい画像用のカスタム RouteHandler を作成しました。私の RouteHandler は単純に新しいルート (graphics/{filename}) を取得し、実際のファイル パスを検索して、MIME タイプを設定し、それを提供します。それはうまくいきます。( http://www.mikesdotnetting.com/Article/126/ASP.NET-MVC-Prevent-Image-Leeching-with-a-Custom-RouteHandler )

次にやりたかったことは、以前に設定したセッション変数のカスタム ハンドラー内でチェックを行い、画像を表示しようとしている人にその許可があることを確認することでした。

基本的に、彼らはログインを渡す (コードを入力する) ことで、カスタム RouteHandler で検索するセッション変数を設定します。

私の問題は、カスタム RouteHandler 内からセッション データを取得できないように見えることです。

最後に、私の質問は次のとおりです。コントローラーにデータを設定し、その後のリクエストでカスタム RouteHandler 内からデータを利用できるようにするにはどうすればよいですか?

4

1 に答える 1

1

まず、GetHttpHandler メソッドに渡された RequestContext から、 経由でセッションにアクセスできませんrequestContext.HttpContext.Sessionか? よくわかりませんが、これはパイプラインの初期段階にあるため、デフォルトでは機能していないことがわかりました。

そうでない場合は、ハンドラーにIRequiresSessionStateインターフェイスを追加することで、いつでも簡単にセッション チェック ロジックをハンドラーに移動できます。

于 2010-06-26T03:00:44.937 に答える