다음을 통해 공유


통화 보안 끄기

호출 보안은 클라이언트가 서버의 메서드를 호출할 수 있는 권한이 있는지 여부를 결정합니다. 통화 보안을 사용하지 않도록 설정하는 방법에는 두 가지가 있습니다. 하나는 Dcomcnfg.exe 사용하여 레지스트리를 수정하고 다른 하나는 CoInitializeSecurity를 호출해야 합니다.

DCOMCNFG를 사용하여 통화 보안 끄기

Dcomcnfg.exe 사용하여 레지스트리를 수정하면 호출 보안을 가장 쉽게 끌 수 있습니다. 그러나 Dcomcnfg.exe 사용하여 보안을 해제하는 것은 클라이언트와 서버가 CoInitializeSecurity를 호출하지 않는 경우에만 작동합니다. CoInitializeSecurity가 호출될 때 DCOM은 레지스트리 설정을 무시하고 대신 CoInitializeSecurity에 제공된 값을 사용하기 때문입니다.

Dcomcnfg.exe 보안을 해제하려면 클라이언트와 서버 모두 인증 수준을 없음으로 설정해야 합니다. 다음 단계를 완료해야 합니다.

  1. Dcomcnfg.exe를 실행합니다.
  2. 애플리케이션 페이지에서 서버를 나타내는 애플리케이션을 선택합니다. 속성 단추를 클릭하거나 선택한 애플리케이션을 두 번 클릭합니다.
  3. 일반 탭을 클릭합니다.
  4. 기본 인증 수준 목록 상자에서 (없음)을 선택합니다.
  5. 적용 단추를 클릭하여 변경 내용을 적용합니다. 그러나 애플리케이션의 실행 중인 인스턴스에는 변경 내용이 적용되지 않습니다.
  6. 클라이언트가 애플리케이션 페이지의 목록에 표시되면 2~5단계를 반복하고 2단계의 서버 대신 클라이언트를 선택합니다. 확인 단추를 클릭합니다. 클라이언트가 목록에 없는 경우 다음 세 가지 중 하나를 수행할 수 있습니다.
    • Dcomcnfg.exe 사용하여 컴퓨터 전체에서 클라이언트의 인증 수준을 없음으로 설정할 수 있습니다. (아래의 경고 및 절차를 참조하세요.)
    • 클라이언트의 인증 수준을 프로그래밍 방식으로 없음으로 설정할 수 있습니다.
    • 클라이언트에 대한 AppID 키를 만들어 인증 수준을 None으로 나타낼 수 있습니다. ( 레지스트리를 통해 Process-Wide 보안 설정을 참조하세요.)

컴퓨터 전체에서 인증 수준을 없음으로 설정하려면 다음을 수행합니다.

참고

컴퓨터 전체 인증 수준을 없음으로 설정하는 것은 매우 안전하지 않습니다.

 

  1. Dcomcnfg.exe를 실행합니다.
  2. 기본 속성 탭을 선택합니다.
  3. 기본 인증 수준 목록 상자에서 (없음)을 선택합니다.
  4. 확인 단추를 클릭합니다.

프로그래밍 방식으로 통화 보안 끄기

프로그래밍 방식으로 호출 보안을 해제하려면 클라이언트와 서버 모두 CoInitializeSecurity를 호출하여 dwAuthnLevel 매개 변수의 인증 수준을 RPC_C_AUTHN_LEVEL_NONE 설정해야 합니다.

활성화 보안 끄기