Ich habe die Ursache gefunden.
Der Event DSAuthenticationManager1.UserAuthenticate wird zwei mal gefeuert. Bei ersten mal ist User und Password immer leer und erst beim zweiten mal ist User und Password befüllt!
Delphi-Quellcode:
procedure TServerContainer1.DSAuthenticationManager1UserAuthenticate(
Sender: TObject; const Protocol, Context, User, Password: string;
var valid: Boolean; UserRoles: TStrings);
begin
{ TODO : Validieren Sie den Client-Benutzer und das Passwort.
Wenn eine rollenbasierte Autorisierung erforderlich ist, fügen Sie dem Parameter UserRoles Rollennamen hinzu }
frMain.Memo1.Lines.Add(Format('Username: %s Password: %s',[User, Password]));
valid := ((User = '1234') and (Password = '5678'));
end;