3

私は ASP.NET プロジェクトに取り組んでおり、現在何かに打たれています。基本的に、3 つの異なるレベルのユーザーがいます 1. 管理者 2. DMV 3. 発信者

すべてのユーザーにはそれぞれのディレクトリがあり、権限に従ってそれらのリソースにアクセスできます。誰かがアプリケーションにサインインする場合、ルート ディレクトリに存在する同じ login.aspx ページを使用する必要があります。ログインすると、ユーザーは自分のログイン情報に基づいて、それぞれのフォルダーのホーム ページにリダイレクトされます。特権。

私のアプリケーションでは、セッションが不本意に閉じられたときに、ユーザーがログイン ページにリダイレクトされたり、ページの完全な URL を知っていて、クエリとして渡された "Redirect_URL" 変数を使用してすばやくログインしてそのページにアクセスしたい場合があります。ストリング、彼にはそれができません。ここで、彼がログインすると、彼は自分のホームページにリダイレクトされます。これにより、彼は、彼がいたページに到達するために再び多くのアクションを実行するようになります.

そのため、リファラー ページの URL を確認し、HTTP_REFERER などを使用して「Redirect_url」などのクエリ文字列に格納するには、login.aspx ページが必要です。ユーザーが正常にログインすると、ユーザーはページにリダイレクトされ、 「Redirect_url」変数。

どこかで与えられた Global.asax ソリューションも探しましたが、私の場合、上記のロジックが最適に機能すると思います。

4

1 に答える 1

5

2つのこと:

まず、簡単な解決策として、Request.ServerVariables["HTTP_REFERER"]またはRequest.UrlReferrerを使用して HTTP Referrer ヘッダー値を取得します。

2 つ目: ASP.NET の組み込みフォーム認証クラスを使用すると、リダイレクト (およびクエリ文字列のリダイレクト先) の管理をすべて実行できます。

于 2012-09-03T04:30:09.370 に答える