【发布时间】:2010-10-26 14:14:37
【问题描述】:
我已经决定使用 Play 框架来重写我们的 Intranet 门户。我们的门户包含许多松散相关的内容,因此我正在寻求有关是否或如何将其拆分为多个 Play 应用程序的建议。
使其成为多个应用程序的后果是什么?单点登录仍然可行吗?访问控制如何受到影响?我是否可能必须在它们之间复制大量代码/配置?在决定将事物分开的位置时,我还应该考虑什么?
【问题讨论】:
标签: java playframework
我已经决定使用 Play 框架来重写我们的 Intranet 门户。我们的门户包含许多松散相关的内容,因此我正在寻求有关是否或如何将其拆分为多个 Play 应用程序的建议。
使其成为多个应用程序的后果是什么?单点登录仍然可行吗?访问控制如何受到影响?我是否可能必须在它们之间复制大量代码/配置?在决定将事物分开的位置时,我还应该考虑什么?
【问题讨论】:
标签: java playframework
首先我会考虑模块,因为否则你必须启动很多应用程序,这会增加内存消耗。只有当您的网站负载很重,以至于您需要多个服务器时,这才无关紧要。
单点登录仍然可行吗?我会说,是的。您可以将数据存储在 cookie 中,但必须确保其他 url 可以读取它。
我是否可能需要在它们之间复制大量代码/配置?好吧,如果您使用类似的数据库,与模块相比,这将是另一个缺点,但我不会担心这 1 个配置文件。多个应用程序中需要的代码可以通过 jar 文件作为库轻松共享,或者您为此使用模块。
【讨论】:
我后来发现,在服务器端无状态意味着 Play 使用存储在 cookie 中的 HMAC 哈希以及用户名来跟踪会话。如果要针对同一组凭据(在我的例子中为 OpenLDAP)对多个 Play 应用程序进行身份验证,它们只需要在 conf/application.conf 中配置相同的 application.secret 即可实现单点登录。
【讨论】: