2012-01-09 13 views
0

私は、ASP .NET MVC 3フレームワークを使用してフルWebアプリケーションを開発し始めました。 私はMVC 3の初心者のデベロッパーです。ASP .NET MVC 3 + HTTPリクエスト受信イベントの処理


は、私は、次のロジックを実装する方法が必要:

私のアプリケーションは、私はセッションがこのブラウザで有効であるかどうかを確認したいブラウザからのHTTPリクエストを受信します。

もしそうでなければ、私のConnectionコントローラのIndexアクションメソッドを実行したいと思います。 Indexアクションメソッドは、ブラウザにHTML5ページを返します。これにより、ユーザーは自分自身をアプリケーションに認証できます。

セッションが有効な場合、IdUtilSessionセッション変数とIdSocSessionセッション変数が格納されているかどうかを確認する必要があります。 両方のセッション変数が格納されていない場合、私のConnectionコントローラのIndexアクションメソッドを実行します。


セッション変数の管理については、MSDNのドキュメントを参照してください。 自分のアプリケーションでセッション変数を管理できると思います。

「私のアプリケーションがHTTPリクエストを受信したときに」処理しなければならないイベントを知りたい。 私は、ASP .NETアプリケーションライフサイクルの次のMSDNドキュメントページを読んでいます:http://msdn.microsoft.com/en-us/library/ms178473.aspx 要求処理中に一連のイベントがトリガーされます Global.asaxファイルでこれらのイベントの1つを処理する必要はありますか?あなたの将来の助け

+0

おそらく最初に手でラボを試してみませんか? http://msdn.microsoft.com/en-us/VS2010TrainingCourse_ASPNETMVC3Fundamentals – rene

答えて

1

これを達成するために、よりMVCish方法を事前に

のおかげではなく、より一般的にASP.NETのではなく、古典的なASP.NETで使用されるイベントに依存するので(カスタム認可属性を記述することですMVC):

public class MyAuthorizeAttribute : AuthorizeAttribute 
{ 
    protected override bool AuthorizeCore(HttpContextBase httpContext) 
    { 
     var authorized = base.AuthorizeCore(httpContext); 
     if (!authorized) 
     { 
      return false; 
     } 

     var session = httpContext.Session; 
     return session["IdUtilSession"] != null && 
       session["IdSocSession "] != null; 
    } 
} 

して、代わりにデフォルトを使用しての[Authorize]属性カスタム[MyAuthorize]属性を使用します。

I want to execute the Index action method of my Connection controllerの部分については、web.configの<forms>タグのloginUrl属性を適切なURLに設定することができます。

関連する問題