TsgcWSPServer_sgc › イベント › OnRPCAuthentication
RPC メソッドが許可リストにない場合に発生し、ハンドラーがそれを認可できます。
property OnRPCAuthentication: TsgcWSRPCAuthenticationEvent;
// TsgcWSRPCAuthenticationEvent = procedure(Connection: TsgcWSConnection; const Method, User, Password: string; var Authenticated: Boolean) of object
—
RPCAuthentication.Enabled が True で、メソッド名が RPCAuthentication.Methods に単独または method=user として存在しない場合のみ発生します。ハンドラーはリクエストされた Method と WebSocket ハンドシェイクで提示された User および Password を受け取ります。OnRPC をディスパッチするには Authenticated を True に設定し、サーバーが JSON-RPC の "Method not found" エラーで応答するには False のままにします。
procedure TForm1.oProtocolRPCAuthentication(Connection: TsgcWSConnection;
const Method, User, Password: string; var Authenticated: Boolean);
begin
Authenticated := (User = 'admin') and (Password = 'secret');
end;