【发布时间】:2014-12-26 05:51:39
【问题描述】:
假设我的 Web 应用程序在 Windows 服务器上运行。它托管在 Tomcat 中,它作为 Windows 服务在帐户 LocalSystem 下运行。它访问远程 Windows 服务器上的 Microsoft SQL Server。我想让 Web 应用程序使用集成身份验证向 SQL Server 进行身份验证。
从对上一个问题的回答中,我知道如果 Tomcat 在<your-domain-name>\A1 帐户下运行,则以下 SQL 命令序列将启用集成身份验证。
CREATE LOGIN [<your-domain-name>\A1] FROM WINDOWS;
CREATE USER [<your-domain-name>\A1];
GRANT ... ON <object-name> TO [<your-domain-name>\A1];
向主机H1 上的Local Systemaccount 授予类似权限的正确 SQL 语法是什么?
【问题讨论】:
-
“LocalSystem”和“LOCAL SERVICE”是两个非常不同的帐户。
-
@RemusRusanu 我不是 Windows 人(不是 Tomcat 盒子的管理员:)如果 Tomcat(显然)以“LocalSystem”而不是“LOCAL SERVICE”运行,它会告诉我什么?
-
您最初的标题引用了“本地服务”。对于这种情况,答案会非常不同,因为不允许LOCAL SERVICE 进行远程身份验证,而您只是 not 能够为其配置登录名(没有授予 ANONYMOUS LOGON 登录名,这是一个巨大的禁忌)。
-
@RemusRusanu 你是对的。标题被取消了。刚刚检查了Tomcat系统。它在 Windows 服务下显示“登录为:本地系统”。谢谢编辑。
标签: sql-server security authentication web-applications jdbc