如何在VCL中return到登录页面web/Intraweb?
How to return to the login page in VCL for the web/Intraweb?
我有一个使用 Delphi 10 / VCL for the web - Intraweb 14.2.7 构建的应用程序。
我实现了基本上是这样做的注销功能:
// Appurl := WebApplication.ApplicationURL;
WebApplication.TerminateAndRedirect(Appurl+'/$/');
这在大多数情况下都有效,但是当应用程序在反向代理后面运行时(我使用 NGINX)WebApplication.ApplicationURL
与我预期的不同。
我的应用程序从本地主机运行在 http://127.0.0.1:8000/$/
在本地主机中 WebApplication.ApplicationURL
是 http://127.0.0.1:8000
同时使用反向代理(因此从任何其他机器访问)
该应用可在 https://myapp.mycompany.com/$/
访问
在这种情况下 WebApplication.ApplicationURL
是 http://myapp.mycompany.com:8000
因此在注销时应用程序将浏览器重定向到不存在的 http://myapp.mycompany.com:8000/$/
。
可能通过微调 NGINX 无论如何都可以找到解决方法我想问一下 Intraweb 是否有一个内置系统可以返回到主 URL。
根据评论中的建议,您可以尝试使用 WebApplication.TerminateAndRedirect('/$/');
避免使用绝对地址
我有一个使用 Delphi 10 / VCL for the web - Intraweb 14.2.7 构建的应用程序。
我实现了基本上是这样做的注销功能:
// Appurl := WebApplication.ApplicationURL;
WebApplication.TerminateAndRedirect(Appurl+'/$/');
这在大多数情况下都有效,但是当应用程序在反向代理后面运行时(我使用 NGINX)WebApplication.ApplicationURL
与我预期的不同。
我的应用程序从本地主机运行在 http://127.0.0.1:8000/$/
在本地主机中 WebApplication.ApplicationURL
是 http://127.0.0.1:8000
同时使用反向代理(因此从任何其他机器访问)
该应用可在 https://myapp.mycompany.com/$/
访问
在这种情况下 WebApplication.ApplicationURL
是 http://myapp.mycompany.com:8000
因此在注销时应用程序将浏览器重定向到不存在的 http://myapp.mycompany.com:8000/$/
。
可能通过微调 NGINX 无论如何都可以找到解决方法我想问一下 Intraweb 是否有一个内置系统可以返回到主 URL。
根据评论中的建议,您可以尝试使用 WebApplication.TerminateAndRedirect('/$/');
避免使用绝对地址