以与tomcat不同的用户身份启动Java进程

时间:2014-01-28 09:41:16

标签: java windows tomcat spnego

我需要以不同的用户身份启动ProcessBuilder的流程。

用户使用Tomcat 7下的SPNEGO协议登录.Tomcat进程在Windows 7计算机上的服务器帐户下运行。用户是Active Directory中的有效用户。

我需要生成一个进程并以登录用户身份执行某些操作,而不是Tomcat用户。

我可以从请求中获取Principal。我想使用Subject的doAsPrivileged方法,但我没有对Subject的引用。

我可以创建一个吗?有没有办法在不修改身份验证器的情况下进入主题?还有其他办法吗?

2 个答案:

答案 0 :(得分:0)

您需要来自用户的GSSCredential才能启用委派。打算产生什么样的过程?

答案 1 :(得分:0)

BitVise SSH服务器支持使用Kerberos进行SSH,并提供bvRun.exe实用程序来启动Windows机器上的分离进程。有了这个,我就可以获得Kerberos票证,通过SSH将其传递给Windows服务器,登录并在连接关闭后继续运行的远程机器上启动进程。 Tomcat进程必须在注册为SPN的用户帐户下运行才能使票证分区生效。在这种情况下,SSH用作身份验证协议。加密用于建立双方之间的身份。