数据库采用的是三层结构 RDM + Socket能否做到当客户端连接数据库时,由中间层先对客户端提供的用户名与密码做认证。
(这里的用户名与密码不是数据库的用户名与密码,是指我在数据库中的一个表里存放的用户名与密码。)也就是说当客户端连接到中间层时提供用户名与密码,再由中间层向数据库查询用户有什么权限,如果用户的密码错误,就断开连接。如果正确就产生一个Session(这是JSP里的叫法,不知在Delphi的Midas有没有这个功能)请问大家具体上怎样做?那么用友、金碟他们是怎样做用户端的认证?
(这里的用户名与密码不是数据库的用户名与密码,是指我在数据库中的一个表里存放的用户名与密码。)也就是说当客户端连接到中间层时提供用户名与密码,再由中间层向数据库查询用户有什么权限,如果用户的密码错误,就断开连接。如果正确就产生一个Session(这是JSP里的叫法,不知在Delphi的Midas有没有这个功能)请问大家具体上怎样做?那么用友、金碟他们是怎样做用户端的认证?
SocketConnection.AppServer.Login(UserName,Password)如果中间层进行身份验证失败,则将数据模块 Destroy。
如何将数据模块 Destroy?
在 RemoteDataModule 中实现此方法function TRemoteDataModule.Login(UserName,Password:string):BOOL;
begin
if { UserName and Password is invalid } then
Self.Free
else
IsLogin:=True;
end;