我们正在开发一个新的,也是我们的第一个 DataSnap 服务器和客户端应用程序。我已向服务器添加了身份验证,但我无法动态更改来自客户端的连接的登录详细信息。用户名和密码在
procedure TServerContainer1.DSAuthenticationManager1UserAuthenticate(
Sender: TObject; const Protocol, Context, User, Password: string;
var valid: Boolean; UserRoles: TStrings);
保持空白。
在客户端中,我们将值设置为......
DSConnection := TSQLConnection.Create(nil);
DSConnection.DriverName := 'DATASNAP';
DSConnection.LoginPrompt := False;
DSConnection.Params.Values['port'] := Port;
DSConnection.Params.Values['HostName'] := HostName;
DSConnection.Params.Values['DSAuthUser'] := Username;
DSConnection.OnLogin := DSConnectionOnLogin;
DSProviderConnection1.SQLConnection := DSConnection;
MMLog.Log('DSConnection: ' + DSConnection.Params.Text);
DSConnection.Open;
但是,如果我查看DSConnectEventObject.ConnectProperties.Properties.Text
服务器OnConnect
事件,我可以看到参数已传递。
我错过了什么吗?
谢谢,彼得