TsgcWebSocketHTTPServer › 속성 › Authentication

Authentication 속성

들어오는 WebSocket 및 HTTP 연결에 대한 사용자/비밀번호 인증을 활성화하고 구성합니다.

구문

property Authentication: TsgcWSAuthenticationServer_Options read FAuthentication write SetAuthentication;

기본값

Enabled=False

설명

Authentication.Enabled가 True인 경우 서버는 모든 수신 연결을 AuthUsers 목록(줄당 user=password 형식)에 대해 인증합니다. 세 가지 내장 스킴이 지원됩니다: Session(클라이언트가 먼저 HTTP GET을 수행하고 session id를 받은 다음 id를 매개변수로 전달하여 WebSocket을 엶), URL(사용자 이름과 비밀번호가 WebSocket HandShake의 쿼리 문자열로 전송됨) 및 Basic(HTTP Basic Access Authentication — VCL 클라이언트/서버 및 HTTP 요청에서만 사용됨). OnAuthentication 이벤트를 통해 자체 자격 증명 검사를 연결할 수 있습니다. OnUnknownAuthentication은 Bearer/JWT와 같은 비표준 스킴을 처리합니다. 인증 오류 시 반환되는 추가 HTTP 헤더를 추가하려면 CustomHeaders를 사용하십시오.

Negotiate(Kerberos / SPNEGO, Windows에서는 NTLM 폴백 포함)는 Authentication.Negotiate 하위 속성에서 구성하며 sgcWebSockets Enterprise Edition이 필요합니다. Negotiate.Enabled(Boolean, 기본값 False)는 이 기능을 켜며 Authentication.Enabled가 필요합니다. Negotiate.ServicePrincipal(String)은 HTTP/host.example.com@EXAMPLE.COM과 같은 선택적 SPN이며, 비어 있으면 keytab의 모든 키 또는 머신 계정이 허용됩니다. Negotiate.Keytab(String, Linux 전용)은 서비스 keytab의 경로이며, 비어 있으면 KRB5_KTNAME 또는 시스템 기본값이 사용됩니다. 결과는 OnNegotiateAuthentication 이벤트로 전달됩니다. Kerberos 및 Negotiate 인증을(를) 참조하십시오.

예제


oServer := TsgcWebSocketHTTPServer.Create(nil);
oServer.Authentication.Enabled := true;
oServer.Authentication.Basic.Enabled := true;
oServer.Authentication.AuthUsers.Add('user=secret');
oServer.Active := true;

속성으로 돌아가기