如何在 TDSAutenticationManager.OnUserAuthorize 事件中获取命令方法的参数?
How can I get the parameter of a command method inside TDSAutenticationManager.OnUserAuthorize event?
使用参数 AuthorizeEventObject
我可以使用 OnUserAuthorize
中的 属性 MethodAlias
获取被调用方法的名称。
我想获取此方法的参数。
例如,如果调用ReverseString
,我想在OnUserAuthorize
中获取Value
参数
可能吗?怎么样?
我不知道这是不是更好的方法,但是在 this answer and this 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;
使用参数 AuthorizeEventObject
我可以使用 OnUserAuthorize
中的 属性 MethodAlias
获取被调用方法的名称。
我想获取此方法的参数。
例如,如果调用ReverseString
,我想在OnUserAuthorize
Value
参数
可能吗?怎么样?
我不知道这是不是更好的方法,但是在 this answer and this 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;