2009-12-04 6 views
1

나는 지속성 서버 프로세스의 클라이언트 역할을하는 웹 사이트를 구축하고 있습니다. ASP.NET은 .NET Remoting을 사용하여 서버와 통신합니다. 이 서버는 다른 클라이언트 (두꺼운 WPF 클라이언트 및 자동화 된 프로세스)에서도 사용되며 암호 기반 인증, 권한 부여 및 세션 방법을 이미 갖추고 있습니다. 이 방법은 모든 페이지에 대해 ASP.NET 세션을 요구하고 백 엔드 서버의 세션에 해당하는 서버 쪽 세션 상태로 원격 개체를 유지하는 방법입니다. 세션의 인증 상태를 추적 할 원격 세션 객체에 자격 증명을 전달하는 로그인 페이지를 작성합니다. 나는 그것이 모두 의미가 있기를 바란다. 두 가지 질문 :ASP.NET 세션 및 사용자 지정 인증

  • IT는 요청이 인증되는 것을 보장하기 위해 ASP.NET 세션에만 의존, 또는 나뿐만 아니라이 위에 몇 가지 인증 쿠키를 추가해야 할 안전합니까? 이 사이트에는 민감한 내용이 포함되어 있으며 모든 페이지에는 HTTPS가 필요하므로 세션 키를 제 3자가 수령해서는 안됩니다 (적어도 인증 쿠키 이상은 안됨).

  • ASP.NET 인증 인프라와 어떻게 통합합니까? 구체적으로 말하면 서버가 세션이 인증되었다고 생각하면 HttpRequest.IsAuthenticated가 참이고 서버에서 볼 때 다시 인증 된 사용자를 설명하는 Page.User 주체가 필요합니다.

감사

답변

1

ASP.Net은 인증이 필요한 모든 것을 할 것 형성한다.

먼저 보안 인증 쿠키를 설정하므로 걱정할 필요가 없습니다. 다른 세션 기반 인증 토큰과 마찬가지로 안전합니다 (세션 하이재킹에 대해서는 열려 있지만 그렇지 않으면 안전하다고 판단 됨). 그러나 HTTPS를 사용하고 있기 때문에 세션 하이재킹을 수행 할 수 없기 때문에 모든 환경에서 안전합니다. .

FormsAuthentication이 성공적으로 수행되면 HttpRequest.IsAuthenticated가 true가됩니다. 사용자 저장소에 대해 인증하고 사용자 이름과 백엔드 세션 객체를 가져와 인증이 성공하면 세션에 저장하는 사용자 정의 MembershipProvider를 작성할 필요가 있습니다. 커스텀 프로 바이더를 작성하는 것은 매우 간단합니다. 여러분이 필요로하는 것을 다루어야 할 훌륭한 예제가 많이 있습니다.

여기는 basic example입니다.

관련 문제