如何使用kbmmw中的Authorization在表上设置过滤器

时间:2016-01-08 23:50:02

标签: delphi

如何使用kbmmw中的Authorization在表上设置过滤器。

您好我使用kbmMWAuthorizationManager进行授权。

| UserA | DataA |
| UserA | DataB |
| UserB | DataC |

我需要使用授权登录在表的UserA上设置过滤器。

ADD

我需要调用服务器端查询(ALL_EVENTS)。我做了两件事:

   procedure TTestQuery.ALL_EVENTSBeforeOpen(DataSet: TDataSet);
   begin
     Form1.Memo1.Lines.Add('+');
   end;

   procedure TTestQuery.kbmMWQueryServiceBeforeRequest(const Func: string;
     const ClientIdent: TkbmMWClientIdentity; Args: TkbmMWVariantList);
   begin
     Form1.Memo1.Lines.Add(ClientIdent.Username);
   end;

1 个答案:

答案 0 :(得分:1)

我非常不确定你想要做什么。 如果您在表中具有用户名,则它本身可以使用SQL或其内存数据表(例如OnFilterRecord事件)参与选择条件。 您始终可以获取哪个(已登录)用户正在尝试操作,但通过令牌属性在身份验证管理器中查找用户名。例如

var
  identity:TkbmMWClientIdentity;
begin
...
  identity:=authmgr.Logins.GetClientIdent(yourservice.Token);
  if identity<>Nil then
    username:=identity.UserName
  else
    ...
end;
最好的问候 金马森 Components4Developers