1
我是新来的这个delphi datasnap的东西,几乎没有任何有用的文件。如何筛选Delphi datasnap rest服务器上的请求?
我按照this guide设置了一个简单的休息服务器。现在我想定义我自己的身份验证协议。
据我所知。在调用服务器类方法之前,来自远程客户端的所有请求都将通过WebModule方法进行处理。到目前为止,我能够捕获客户端IP地址和这样的请求URL路径:
procedure TWebModule1.WebModuleBeforeDispatch(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
ShowMessage(request.RemoteAddr); // adress where request came from
ShowMessage(request.PathInfo); // url path
Response.SetCustomHeader('access-control-allow-origin','*');
if FServerFunctionInvokerAction <> nil then
FServerFunctionInvokerAction.Enabled := AllowServerFunctionInvoker;
end;
我怎么能:
拒绝请求依赖于特定的IP地址,并返回401状态码客户在达到类方法之前?
重定向客户端到另一个方法?例如:重定向此请求:
request = new XMLHttpRequest();
request.open('GET', 'http://localhost:8080/datasnap/rest/TServerMethods1/ReverseString/blah', true);
以另一种方法代替ReverseString。
您向HTTP响应添加了CORS标头(access-control-allow-origin)。知道这是否按预期工作是有趣的,允许跨域请求。 – mjn 2014-09-30 14:15:44