2012-01-09 3 views
0

방금 ​​ASP .NET MVC 3 프레임 워크를 사용하여 전체 웹 응용 프로그램을 개발하기 시작했습니다. 저는 MVC 3 초급 개발자입니다.ASP .NET MVC 3 + HTTP 요청 수신 이벤트 처리


나는 다음과 같은 로직을 구현하는 방법이 필요합니다 :

내 어플은 세션이 브라우저 유효한지 확인하려면 브라우저에서 HTTP 요청을 수신합니다.

그렇지 않은 경우 내 Connection 컨트롤러의 Index 작업 메서드를 실행하고 싶습니다. 색인 조치 메소드는 사용자가 응용 프로그램에 직접 인증 할 수 있도록 HTML5 페이지를 브라우저에 리턴합니다.

세션이 유효하면 IdUtilSession 및 IdSocSession 세션 변수가 저장되어 있는지 확인하고 싶습니다. 두 세션 변수가 모두 저장되어 있지 않으면 내 Connection 컨트롤러의 Index 작업 메서드를 실행하려고합니다.


세션 변수 관리에 대한 몇 가지 MSDN 설명서를 읽었습니다. 내 응용 프로그램에서 세션 변수를 관리 할 수 ​​있다고 생각합니다.

내가 처리해야하는 이벤트를 알고 싶습니다. "내 응용 프로그램이 HTTP 요청을받을 때". ASP .NET 응용 프로그램 수명주기에 대한 다음 MSDN 설명서 페이지를 읽었습니다. http://msdn.microsoft.com/en-us/library/ms178473.aspx 요청 처리 중에 일련의 이벤트가 트리거되었습니다. Global.asax 파일에서 이러한 이벤트 중 하나를 처리해야합니까? 당신의 미래에 도움이

+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을 가리 키도록 설정할 수 있습니다.