통화 보안 끄기
호출 보안은 클라이언트가 서버의 메서드를 호출할 수 있는 권한이 있는지 여부를 결정합니다. 통화 보안을 사용하지 않도록 설정하는 방법에는 두 가지가 있습니다. 하나는 Dcomcnfg.exe 사용하여 레지스트리를 수정하고 다른 하나는 CoInitializeSecurity를 호출해야 합니다.
DCOMCNFG를 사용하여 통화 보안 끄기
Dcomcnfg.exe 사용하여 레지스트리를 수정하면 호출 보안을 가장 쉽게 끌 수 있습니다. 그러나 Dcomcnfg.exe 사용하여 보안을 해제하는 것은 클라이언트와 서버가 CoInitializeSecurity를 호출하지 않는 경우에만 작동합니다. CoInitializeSecurity가 호출될 때 DCOM은 레지스트리 설정을 무시하고 대신 CoInitializeSecurity에 제공된 값을 사용하기 때문입니다.
Dcomcnfg.exe 보안을 해제하려면 클라이언트와 서버 모두 인증 수준을 없음으로 설정해야 합니다. 다음 단계를 완료해야 합니다.
- Dcomcnfg.exe를 실행합니다.
- 애플리케이션 페이지에서 서버를 나타내는 애플리케이션을 선택합니다. 속성 단추를 클릭하거나 선택한 애플리케이션을 두 번 클릭합니다.
- 일반 탭을 클릭합니다.
- 기본 인증 수준 목록 상자에서 (없음)을 선택합니다.
- 적용 단추를 클릭하여 변경 내용을 적용합니다. 그러나 애플리케이션의 실행 중인 인스턴스에는 변경 내용이 적용되지 않습니다.
- 클라이언트가 애플리케이션 페이지의 목록에 표시되면 2~5단계를 반복하고 2단계의 서버 대신 클라이언트를 선택합니다.
확인 단추를 클릭합니다. 클라이언트가 목록에 없는 경우 다음 세 가지 중 하나를 수행할 수 있습니다.
- Dcomcnfg.exe 사용하여 컴퓨터 전체에서 클라이언트의 인증 수준을 없음으로 설정할 수 있습니다. (아래의 경고 및 절차를 참조하세요.)
- 클라이언트의 인증 수준을 프로그래밍 방식으로 없음으로 설정할 수 있습니다.
- 클라이언트에 대한 AppID 키를 만들어 인증 수준을 None으로 나타낼 수 있습니다. ( 레지스트리를 통해 Process-Wide 보안 설정을 참조하세요.)
컴퓨터 전체에서 인증 수준을 없음으로 설정하려면 다음을 수행합니다.
참고
컴퓨터 전체 인증 수준을 없음으로 설정하는 것은 매우 안전하지 않습니다.
- Dcomcnfg.exe를 실행합니다.
- 기본 속성 탭을 선택합니다.
- 기본 인증 수준 목록 상자에서 (없음)을 선택합니다.
- 확인 단추를 클릭합니다.
프로그래밍 방식으로 통화 보안 끄기
프로그래밍 방식으로 호출 보안을 해제하려면 클라이언트와 서버 모두 CoInitializeSecurity를 호출하여 dwAuthnLevel 매개 변수의 인증 수준을 RPC_C_AUTHN_LEVEL_NONE 설정해야 합니다.
관련 항목