delphi - 当 datasnap 服务器中的用户授权失败时,是否可以更改响应代码?

标签 delphi datasnap

当用户授权失败时,是否可以更改我的 DataSnap (Delphi XE3) 服务器中的 HTTP 响应代码?目前它返回 HTTP/1.1 500 内部服务器错误,这可能发生在许多其他场景中,并且无助于描述问题。

按照同样的思路,是否可以更改默认的响应正文?目前,它返回 {"error":"USER 无权执行请求的操作。"},这很好,但如果可能的话,我想返回一个自定义 JSON 对象。

感谢您的宝贵时间!

最佳答案

我最终在 TDSAuthenticationManager.OnUserAuthorize 中执行了如下所示的代码


  if valid = false then
  begin
    GetInvocationMetadata.ResponseCode := 403;
    GetInvocationMetadata.ResponseMessage := JSONResponseObject.ToString;
    GetInvocationMetadata.ResponseContent := JSONResponseOjbect.ToString;
  end

关于delphi - 当 datasnap 服务器中的用户授权失败时,是否可以更改响应代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16674634/

相关文章:

delphi - 我怎样才能让这个文件写入代码与 Unicode (Delphi) 一起使用

arrays - 如何在 Delphi 中正确地转换和传递参数

delphi - 发送 self 不起作用

delphi - 如何配置 DScintilla 以突出显示具有某些样式属性的 Lua?

delphi - 从 INI 文件更改 DataSnap 服务器端口

javascript - 使用 JavaScript 解析 Datasnap 结果

delphi - DataSnap Rest Server Windows 服务

mysql - 我试图了解如何使用 TFDStoredProc(FireDac 组件)填充 TIWDBGrid(IntraWeb 组件)

windows - 部署 Datasnap 服务

Delphi XE2 DataSnap - 通过 HTTPS 使用 REST 时为 'Connection Closed Gracefully'