我正在考虑一个包含多个租户的wicket应用程序:所有租户具有相同的功能并使用相同的代码,但数据是分开的。特别是认证是分开的。每个租户都有一个单独的名称空间:
这可能无法在wicket中处理(但需要在Web服务器级别进行一些映射)。因此,名称空间可能如下所示:
现在我需要防止为tenant1验证的用户可以访问tenant2。我可以在会话中存储租户特定网址部分(此处为“tenant1”),并检查每个网页是否与存储的网址部分匹配。缺点是这种架构不是很安全,因为每个新页面都可能忘记这个检查(是的 - 这将是一个错误......)。一个更强大的解决方案将有一个点来检查它。在安全层中检查它是很好的,例如,在“Wicket Auth / Roles”中。
所以我的问题:我在哪里可以检查请求是需要新会话还是映射到现有会话? Wicket中是否已存在针对多个租户的概念或挂钩?你有什么经历?
答案 0 :(得分:0)
Wicket对多租户(SaaS)解决方案提供了大量支持。 Wicket通过客户端cookie处理请求到会话的映射。
请参阅http://wicket.apache.org/learn/projects/authroles.html作为起点。