如何使用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;
答案 0 :(得分:1)
我非常不确定你想要做什么。 如果您在表中具有用户名,则它本身可以使用SQL或其内存数据表(例如OnFilterRecord事件)参与选择条件。 您始终可以获取哪个(已登录)用户正在尝试操作,但通过令牌属性在身份验证管理器中查找用户名。例如
var
identity:TkbmMWClientIdentity;
begin
...
identity:=authmgr.Logins.GetClientIdent(yourservice.Token);
if identity<>Nil then
username:=identity.UserName
else
...
end;
最好的问候
金马森
Components4Developers