2009-08-19 13 views
1

こんにちは仲間...フォーム認証を使用するASP.NET 3.5アプリケーションがあります。私は認証されたユーザーだけが利用できるページを要求したいが、特定のシナリオでは認証されていないユーザーにそれを表示できるようにする。私の質問は、ページのライフサイクルのどの時点で、ASP.NETにページを表示しても問題ないと言います。認証を避ける

私は無駄にこれを試してみた:もちろん

void Application_AuthenticateRequest(Object sender, EventArgs e) 
{ 
    HttpContext.Current.SkipAuthorization = true; 
} 

の例では、上記の理由あなたが使用していないだけで

+0

私は自分で認証モデルを直接操作することを避けます。フォームの2番目のコピーを非セキュアなディレクトリに置くことはできますか? –

答えて

0

「役に立たなかった」とはどういう意味ですか。何が起こっているのですか?あなたがBeginRequestAuthenticateRequestAuthorizeRequest前に発生する2件のしか要求パイプラインのイベント)のいずれかで、あなたの方法を使用して認証をスキップするために、現在のHTTPコンテキストを操作している場合は、ユーザーを許可または拒否あなたweb.configファイル内の任意の認証設定をバイパスします。

現在、問題のページへのリクエストをどのように承認していますか?

+0

「役に立たなかった」とは、動作しませんでした。それは私をログインページにリダイレクトし続けた。 BeginRequestイベント –

+0

を使用してみます。基本クラスがいくつかのチェックを行い、Login.aspxへのリダイレクトを行っていました。問題はASP.NETではなく、上で提供したコードは完全に機能します。私はBeginRequestとAuthenticateRequestの両方で試してみました。 ご協力ありがとうございます –

2

ページロードでテスト目的のためだった:

if (Page.User.Identity.IsAuthenticated){ 
     //your code for logged in users. 
} else { 

    // if not logged in. 
} 

そして、安全でないディレクトリにページを置きます。

+0

ページがASP.NETによって匿名ユーザーを許可しないように設定されているため、そのまま使用したいと考えています。 –

関連する問題