2010-01-12 4 views
0

ASP.Net의 양식 인증을 사용하는 앱에서 작업하고 있습니다. 클라이언트는 또한 서버 (프론트 엔드의 ExtJS 구성 요소)에 대한 RESTfull 호출을 작성합니다..Net의 쿠키 만료 승인

우리는 서비스 호출에 대해 사용자 지정 HttpHandler를 사용하고 있습니다.

내 문제는 언제든지 인증 쿠키가 만료 될 때마다 HttpHandler의 ProcessRequest 메소드가 호출되지 않아 쿠키 부재를 확인하고 사용자가 다시 로그인하도록 리디렉션된다는 것입니다.

예를 들어 사용자가 페이지를 열린 상태로두고 20 분 후에 다시 비동기 적으로로드되는 드롭 다운을 클릭합니다. 애플 리케이션은 그냥 내 처리기에 도착 못해.

의견이 있으십니까?

답변

0

MSDN 잡지 기사의 Securely Implement Request Processing, Filtering, and Content Redirection with HTTP Pipelines in ASP.NET에서 "파이프 라인 이벤트 모델"섹션을 읽는 것이 좋습니다.

간단히 말해서 HttpHandler에서 요청이 ProcessRequest()에게 전달되기 전에 인증이 수행됩니다. 이러한 경우를 처리해야하는 경우에는 같은 파이프 라인 이벤트에 후크 (예 : BeginRequest이나 요청을 인증) 및 자신의 핸들러를 추가해야합니다

public class EnableWebServicesModule : 
       IHttpModule 
    { 

    public void Init(HttpApplication app) 
    { 
     // register event handler 
     app.BeginRequest += new EventHandler(this.OnBeginRequest); 
    } 

    public void OnBeginRequest(object obj, EventArgs ea) 
    { 
     // Check if security works here by looking for the cookie or 
     // the user context. 

    } 

    ... 
} 

를 추가 읽기 위해이 매력적이고 흥미로운 주제에 , check Rich Strahl's walkthrough: A low-level Look at the ASP.NET Architecture