클라이언트 로그온 세션
LocalSystem 계정에서 실행되는 Windows 서비스와 같이 SE_TCB_NAME 권한이 있는 서버는 LogonUser 함수를 호출하여 서버가 실행 중인 컴퓨터에서 클라이언트를 인증할 수 있습니다. LogonUser 함수는 새 로그온 세션을 시작하고 클라이언트의 보안 정보를 포함하는 기본 액세스 토큰을 반환합니다. 이 기본 토큰을 사용하여 ImpersonateLoggedOnUser 함수를 호출하여 클라이언트를 가장하거나 CreateProcessAsUser 함수를 호출하여 클라이언트의 보안 컨텍스트 에서 실행되는 프로세스를 만들 수 있습니다.
이러한 방식으로 클라이언트를 인증할 때의 장점은 인증된 클라이언트를 가장하는 서버 또는 인증된 클라이언트의 컨텍스트에서 만든 프로세스가 원격 네트워크 리소스에 클라이언트로 연결할 수 있다는 것입니다. 이 인증이 수행되지 않은 경우 서버는 클라이언트의 계정 이름과 암호를 획득하여 WNetAddConnection2 함수에 전달한 경우에만 네트워크 리소스에 연결할 수 있습니다.
이러한 방식으로 클라이언트를 인증하는 단점은 서버가 클라이언트의 자격 증명 (도메인 이름, 사용자 이름 및 암호)을 획득해야 한다는 것입니다. 원격 클라이언트가 이러한 자격 증명을 서버에 제공하는 경우 자격 증명이 안전한 방식으로 전송되도록 하는 것은 클라이언트 및 서버의 책임입니다.