2012-02-21 4 views
0

ログインしていないユーザーを処理するためのエラーコードはありますか?手動でURLを入力してWebページを入力しようとしていますか?「ログインしていない」またはページリダイレクトのエラーコード

現在、私のWebアプリケーションはユーザをログインページにリダイレクトしますが、web.configのエラーページへのページリダイレクトを処理するより良い方法があるかどうかを知りたいと思います。

EDIT:web.configファイルで

Formsタグ:

<forms name=".ADAuthCookie" loginUrl="Login.aspx" defaultUrl="~/dataRefresh.aspx" timeout="20" />

+0

*認証されていない*がアプリケーションのエラーである場合は、ログインページを編集してそのページを表示するだけです。あなたは「アクセス拒否」メッセージのようなものを探していると思いますか? – Yuck

+0

@Yuckはい、私は、ログインページの代わりにエラーメッセージを表示するようにユーザーをリダイレクトするソリューションを探しています。 web.configの 'forms'タグで私の投稿を編集しました。 – gymcode

+2

有効なユーザをmiindに入れておくと、ログインが切れた後にページをブックマークして訪問している可能性があります。ログインページに転送しない場合は、意味をなさないことをしてください。 –

答えて

4

あなたはApplication_EndRequestイベントハンドラで、あなたのGlobal.asax.cs内にする必要があります

EndRequestイベントを処理するHttpModuleを作成し、次のprocを実行する必要がありますエッシンク:

if(Response.StatusCode == 401) 
    { 
    // add code to redirect to the access denied page 
    } 

あなたのHttpModuleをしUrlAuthorizationModuleは独自のを行う前に、あなたがリダイレクトを行うことができるようにUrlAuthorizationModuleの前に登録する必要があります。

これは、フォーム認証が通常ログインページにルーティングされるすべての要求に対してこれを行います。

+0

'Global.asax.cs'をどのように作成すればよいでしょうか?私はその名前のファイルを既に持っている場合、その名前のファイルを持っています。 – gymcode

+0

@RUiHAOあなたはそれを作成する必要はありません。ハンドラを追加するだけです。 –

+0

申し訳ありませんが、私はファイルを持っていないという意味です。エラー – gymcode

関連する問題