在 Tomcat 中以不同用户身份运行不同的 Web 应用程序

Posted

技术标签:

【中文标题】在 Tomcat 中以不同用户身份运行不同的 Web 应用程序【英文标题】:Run different web apps as different users in Tomcat 【发布时间】:2017-11-01 18:25:17 【问题描述】:

是否可以在 Tomcat 中以特定用户身份运行每个 webapp?我的目标是使用集成安全性针对 SQL Server 将每个应用程序作为域用户进行身份验证。

【问题讨论】:

【参考方案1】:

如果您的意思是操作系统用户:不。Tomcat 是一个进程,它作为一个操作系统用户运行。

您可以为每个应用程序提供不同的数据库(例如连接池)。但它们都将在同一个进程中运行。

或者,您可以运行许多不同的 tomcat(当然,在多个端口上)并将它们与前端 Apache httpd 或 nginx 结合起来,将请求转发到每个相应的 tomcat。这样,所有的 tomcat 都可以作为各自的操作系统用户运行,但仍会在标准端口 80 和 443 上显示为单个网络服务器。

【讨论】:

【参考方案2】:

如果您想针对活动目录进行身份验证,则有一个 how to on the apache page 。这并不意味着tomcat下的用户正在运行,也不意味着用户正在访问数据库,它只是使用tomcat的用户。

【讨论】:

以上是关于在 Tomcat 中以不同用户身份运行不同的 Web 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

在 VS2008 中以不同用户身份调试应用程序

Delphi 以不同的用户身份运行

在 ASP.NET 中以不同用户身份启动进程

以非 root 用户身份运行 Nginx

如何在初始化脚本中以特定用户身份运行命令?

在 Docker 中以非 root 用户身份运行应用程序