2009-11-19 3 views
0

ASP.NET 페이지 수명주기의 보안 페이지에 SSL을 적용해야하는시기는 언제입니까?ASP.NET 페이지 수명주기 - 어느 시점에서 SSL을 시행합니까?

내가 page_load 내부에서해야합니까? 또는 OnInit? 또는 다른 어떤 기능?

다음 코드를 사용하여 특정 페이지에 대해 SSL을 적용하고 있지만이 코드는 어디에 사용해야합니까? 이전에 OnInit 함수 안에 배치했지만 ASP.NET 마법사에서는 제대로 작동하지 않았습니다. 포스트 백인지 여부를 먼저 확인해야합니까? 당신이 사용자를 리디렉션 위하여려고하는 경우에

if (!HttpContext.Current.Request.IsSecureConnection) { 
       HttpContext.Current.Response.Redirect(SiteNavigation.ResolveAbsoluteUrl(true, HttpContext.Current.Request.Url.PathAndQuery)); 
      } 

답변

-1

, 당신은 라이프 사이클에 소요되는 모든 CPU가 낭비되기 때문에, 가능한 한 빨리 수명주기에 그것을 할 싶어. OnInit에서 리디렉션을 수행합니다.

+0

-1 질문에 그가 OnInit을 시도했지만 잘 작동하지 않는다고합니다. – Gonzalo

+0

실제로 작동합니다. 까다로운 부분은 디자이너가 자동으로 생성 된 코드 블록에 OnInit이 있기 때문에 디자이너가 제거하려고 할 수 있다는 것입니다. VS가 코드를 제거하려고 할 때 코드를 다시 추가해야합니다. 그것은 아주 간단 :) –

1

다른 옵션은 전체 사이트에 SSL 연결이 필요한 경우 에 SSL을 적용하고입니다. 우리는 동일한 도메인 이름에 대해 두 개의 사이트를 만들어 IIS6에서이 작업을 수행했습니다.

mysite.com:80에는 사이트의 SSL 버전으로 HTTP 403 리디렉션이 있습니다. mysite.com:443에는 SSL이 적용되는 실제 응용 프로그램이 있습니다.

전체 사이트에는 SSL 연결이 필요하지 않지만 로그인 페이지 또는 사이트의 다른 일부분 인 Global.asax (Gonzalo에 언급 됨)의 프로그래밍 방식보다 SSL 연결이 가장 좋은 방법 일 경우 페이지 수명주기의 초기에이를 잡아낼 수 있기 때문입니다.

관련 문제