UI 용 ASP.net 2.0, 중간 계층의 .Net 웹 서비스 (ASMX) 및 DB 용 SQL Server 2005를 사용하여 기존의 3 계층 웹 응용 프로그램을 상속 받았습니다. 현재 회사 직원으로 만 구성된 인트라넷 응용 프로그램입니다. 현재이 응용 프로그램은 Active Directory (AD) 인증을 사용합니다.웹 서비스 보안
로그인 화면에서 사용자 이름/비밀번호 대화 상자가 표시됩니다. 중간 계층은 사용자 이름/비밀번호를 확인하기 위해 AD에 간단한 호출을합니다. ok이면 sessionId guid가 생성되어 UI로 다시 전송됩니다. 그런 다음이 sessionId는 세션 내 UI의 모든 후속 호출에 전달됩니다. 중간 계층의 모든 메서드는 먼저 요청을 처리하기 전에 SQL Server의 단순한 세션 테이블에 대해 세션 ID의 유효성을 검사합니다.
이제 공용 인터넷에서 사용할 수있는 새 UI에 응용 프로그램의 웹 서비스 중간 계층을 사용할 수 있도록해야합니다. 새 UI로 관리하므로 인증에 대해 걱정할 필요가 없습니다. 그러나 보안없이 웹 서비스를 완전히 열어두고 싶지 않습니다. 서비스를 호출하는 시스템에 그렇게 할 수있는 권한이 있는지 확인하기 만하면됩니다. 현재 사용중인 sessionIds를 유지하면서 새로운 UI에 부담을주고 싶지 않습니다.
새 UI에서 호출 할 때 서비스를 보호하는 최선의 방법에 대한 견해가 있습니까? 나는 x509 인증서를 사용할 수 있다고 생각하지만 이전에이 작업을 수행 했으므로 어떤 단점 (성능)이나 구현 방법에 대해 알지 못합니다.
새 UI가 .Net 3.5로 개발되었습니다. 중간 계층에 .Net 3.5를 설치할 수 있으므로 WCF를 사용하면 도움이 될 것 같습니까?