TsgcWebSocketHTTPServer › 事件 › OnAuthentication
当启用身份验证时触发,以便应用程序检查用户名和密码并接受或拒绝连接。
property OnAuthentication: TsgcWSAuthenticationEvent;
// TsgcWSAuthenticationEvent = procedure(Connection: TsgcWSConnection; aUser, aPassword: String; var Authenticated: Boolean) of object
—
每当服务器收到客户端的身份验证请求时,OnAuthentication 即被触发,前提是 Authentication.Enabled 为 True,且身份验证方式为内置方案之一(Basic、Session、URL)。aUser 和 aPassword 参数携带客户端提供的凭据;将 Authenticated 设为 True 以接受连接,或设为 False 以拒绝。若此处未验证凭据,将回退使用内置的 AuthUsers 列表。对于组件无法识别的自定义方案(例如 JWT Bearer 令牌),请改用 OnUnknownAuthentication。该事件同时适用于 WebSocket 升级请求和普通 HTTP 请求。
procedure OnAuthentication(Connection: TsgcWSConnection; aUser, aPassword: string;
var Authenticated: Boolean);
begin
if ((aUser = 'user') and (aPassword = 'secret')) then
Authenticated := True
else
Authenticated := False;
end;