TsgcWebSocketProxyServer › Özellikler › Authentication

Authentication Özellik

Proxy'ye bağlanan gelen WebSocket istemcileri için kullanıcı/parola kimlik doğrulamasını etkinleştirir ve yapılandırır.

Sözdizimi

property Authentication: TsgcWSAuthenticationServer_Options read FAuthentication write SetAuthentication;

Varsayılan Değer

Enabled=False

Remarks

Authentication.Enabled değeri True olduğunda proxy, Proxy içinde tanımlanan yukarı akış sunucusuna eşleşen bağlantıyı açmadan önce her gelen aşağı akış bağlantısını AuthUsers listesine (satır başına user=password formatı) karşı doğrular. Üç yerleşik şema desteklenir: Session (istemci önce bir HTTP GET yapar, bir oturum id'si alır ve ardından id'yi parametre olarak geçirerek WebSocket'i açar), URL (kullanıcı adı ve parola, WebSocket HandShake'in sorgu dizesinde gönderilir) ve Basic (HTTP Basic Access Authentication). OnAuthentication olayı, kendi kimlik bilgisi kontrolünüzü eklemenize olanak tanır; OnUnknownAuthentication, Bearer/JWT gibi standart olmayan şemaları işler. Kimlik doğrulama yalnızca aşağı akış tarafında gerçekleştirilir; proxy, kimlik bilgilerini yukarı akış sunucusuna otomatik olarak iletmez.

Negotiate (Kerberos / SPNEGO, Windows'ta NTLM yedeğiyle) Authentication.Negotiate alt özelliklerinde yapılandırılır ve sgcWebSockets Enterprise Edition gerektirir. Negotiate.Enabled (Boolean, varsayılan False) onu etkinleştirir ve Authentication.Enabled gerektirir. Negotiate.ServicePrincipal (String) isteğe bağlı bir SPN'dir, örneğin HTTP/host.example.com@EXAMPLE.COM; boş olduğunda keytab içindeki veya makine hesabındaki herhangi bir anahtar kabul edilir. Negotiate.Keytab (String, yalnızca Linux) hizmet keytab dosyasının yoludur; boş olduğunda KRB5_KTNAME veya sistem varsayılanı kullanılır. Sonuç OnNegotiateAuthentication ile bildirilir. Bkz. Kerberos ve Negotiate kimlik doğrulama.

Örnek


oProxy := TsgcWebSocketProxyServer.Create(nil);
oProxy.Authentication.Enabled := true;
oProxy.Authentication.Basic.Enabled := true;
oProxy.Authentication.AuthUsers.Add('user=secret');
oProxy.Proxy.Host := 'upstream.example.com';
oProxy.Proxy.Port := 8080;
oProxy.Active := true;

Özelliklere Dön