Seaside - 如何在会话中获取完整的URL

时间:2013-11-26 13:57:50

标签: http smalltalk seaside

我正在开发一个服务于多个客户组织的应用程序,每个客户组织都应该根据固定网址获得访问权限。示例:domain/myapp/CustomerOrg1

以前,我总是为每个入口点注册一个新的WAComponent-subclass。这确实有效,但必须有一个更好的解决方案,我希望单个组件类找出请求使用的URL(然后用客户组织的主页回复)

我试过了:

  • 注册一个WARequestHandler-subclass;它允许我找出完整的路径(包括/CustomerOrg1),但我不在任何会话中,也不知道如何进入。

  • 将WAComponent-subclass注册为/myapp,它的工作原理是它还会自动处理/myapp/CustomerOrg1,但是当我尝试找出所使用的URL时(self session url inspect )它声称只是base-url(/myapp)。

2 个答案:

答案 0 :(得分:3)

尝试

self requestContext request uri

如果你不在一个组件中,你可以做任何对象

WACurrentRequestContext value request uri

答案 1 :(得分:1)

请注意,Norbert在答案中得到的答案是在生产环境中,您的(Apache / nginx / etc)Web服务器已经处理并可能修改了该值,该Web服务器负责静态内容和负载平衡。