先实现TDSAuthenticationManager的OnUserAuthticate事件对客户端认证:
procedure TServerContainer1.DSAuthenticationManager1UserAuthenticate( Sender: TObject; const Protocol, Context, User, Password: string; var valid: Boolean; UserRoles: TStrings); begin { TODO : Validate the client user and password. If role-based authorization is needed, add role names to the UserRoles parameter } if (User = 'Admin') and (Password = '123456') then begin valid := True ; UserRoles.Add('AdminGroup'); //加入到AdminGroup组别 end else if (User = 'Guest') and (Password = '123456') then begin valid := True ; UserRoles.Add('GuestGroup'); //加入到GuestGroup组别 end else valid := False ; end;
现在设置接口授权,只要对TDSAuthenticationManager的Roles属性进行设置即可:
我们分别对自带的2个方法分配了权限,设置完成编译即可!
编译环境:Delphi XE7
加入DataSnap高级交流群439992010,即可下载本DEMO