Java EE,通过路径区分上下文

时间:2015-06-01 08:07:03

标签: java glassfish pathing

我正在解决此问题的解决方法,即glassfish不支持虚拟主机的单独证书。

我的应用程序应根据客户想要访问其数据的情况运行上下文。我实际上想要使用seprarate域名,但由于这是不可能的,我提出了一个不同的想法:

我希望通过他们输入的路径来区分客户。 例如: www.application.com/customer1/pages/page.jsf或www.application.com/customer2/pages/page.jsf

但我不知道如何实现这一点。据我所知,这些地址表明了网络服务器上的路径。我可以以某种方式这样做,应用程序仍然找到页面?

我希望将这些条目(customer1和customer2)存储在外部文件中,这样我就可以添加新条目而无需触摸代码。

1 个答案:

答案 0 :(得分:0)

我假设您的意思是SSL证书。我会考虑设置一个反向代理来处理多个域及其SSL加密,并将请求转发到Glassfish上的普通HTTP。

在应用程序本身中,客户的区别可以通过他们使用的登录(角色/组,......)来实现。如果仅使用路径或域来区分它,则很容易从不同的客户访问受保护的资源。如果您想拥有域信息,只需在代理服务器中将标头添加到传入的HTTP请求中即可。

对于此类代理的候选人,我可以推荐NGINX,这很容易设置。您也可以使用Apache或其他许多人这样做。