如何在TDSAutenticationManager.OnUserAuthorize事件中获取命令方法的参数?

时间:2016-03-15 17:47:23

标签: delphi authorization datasnap

使用参数AuthorizeEventObject我可以使用MethodAlias内的属性OnUserAuthorize获取被调用方法的名称。 我想得到这个方法的参数。

例如,如果调用ReverseString,我想在Value

中获取OnUserAuthorize参数

有可能吗?怎么样?

1 个答案:

答案 0 :(得分:0)

我不知道这是否是更好的方法,但在this answerthis other的帮助下,我已经解决了我的问题。

uses     Web.HTTPApp, Datasnap.DSHTTPWebBroker, IdHTTPWebBrokerBridge;

procedure TServerContainer1.DSAuthenticationManager1UserAuthorize(Sender: TObject; AuthorizeEventObject: TDSAuthorizeEventObject; var valid: Boolean);
var
    Module  : TWebModule;
    MyDesiredParameter: string;
begin
    Module := GetDataSnapWebModule;
    MyDesiredParameter := string(TIdHTTPAppRequest(Module.Request).PathInfo);

    MyDesiredParameter := MyDesiredParameter.Split(['/'])[POSITION_OF_MY_DESIRED_PARAMETER];

    {
      ... 
      MyCode  
      ...
    } 

end;