先实现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

 

posted on 2015-04-08 20:40  delphi老中医  阅读(746)  评论(0编辑  收藏  举报