Java EE,按路径区分上下文

标签 java glassfish path-finding

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

我的应用程序应该根据哪个客户想要访问其数据来运行上下文。我实际上想为此使用单独的域,但由于这是不可能的,所以我想出了一个不同的想法:

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

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

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

最佳答案

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

在应用程序本身中,客户可以通过他们使用的登录名(角色/组,...)进行区分。如果简单地使用路径或域来区分,就可以很容易地访问来自不同客户的安全资源。如果您想获得域信息,只需在代理服务器中向传入的 HTTP 请求添加 header 即可。

对于此类代理的候选人,我可以推荐 NGINX这很容易设置。您还可以使用 Apache 或许多其他工具来执行此操作。

关于Java EE,按路径区分上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30568536/

相关文章:

以最高效率访问无向图中所有节点的算法?

java - 关于映射和链接 HashMap 的混淆

java - Java Netbeans Glassfish Web 应用程序中不存在此应用程序 (app_id)

Java持久化API : Glassfish tries to use derby instead of MySQL?

java - 找不到媒体类型 Jersey MessageBodyWriter = text/plain

c++ - 我应该为 dikjstra/A* 算法使用可变优先级队列吗?

c# - 在游戏中使用 C# 基于气味的寻路

java - 按顺序从 Java 属性文件中提取值?

java - 使用多线程从不同的 url 获取响应

java - 无法启动嵌入式容器