【发布时间】:2012-10-01 19:48:46
【问题描述】:
我有两个 Windows 域 A 和 B。
我有两台服务器:nasB 在域 B 上,webserverA 在域 A 上。
我有两个用户:域 B 上的 userB 和访问 nasB 和域 A 上的 userA 访问 webserverA
我在webserverA 上将tomcat 作为服务运行,它的logon as 属性设置为userA。
我使用userB 凭据将\\nasB\myFiles$\ 映射到webserverA。该映射仅允许 JVM 访问。我总是在代码中使用 UNC 访问驱动器。我在管理网络密码中也有凭据。这两种方法在直接运行任何 java 应用程序时都有效,但不能作为服务运行:(
如果我将 tomcat 作为服务运行,它会抛出一个 filenotfound,除非在尝试访问 \\nasB\myFiles$\somefile.txt 时。如果我使用 startup.bat 运行 tomcat,它可以正常访问该文件。
我无法使用userB 运行tomcat 服务,因为他无权访问webserverA。如何让我的 tomcat 服务在访问 nasB 时使用 userB 凭据?
【问题讨论】:
-
“如果我使用 startup.bat 运行 tomcat,它可以正常访问该文件” - 当您这样做时,您登录的是哪个用户?
-
userA。但正如我所指出的,他使用userB凭据映射了nasB。另外,我在所有位置都使用 UNC,而不是地图驱动器号。
标签: java tomcat windows-services network-security