我需要从Java GUI应用程序运行一些perl
脚本。我正在使用Runtime
API来执行此操作。但是,很少有perl脚本需要在特定用户帐户下运行才能拥有访问专用资源(例如数据库,文件)的特殊凭据。我听说过使用UAC
来减轻用户访问权限。但到目前为止,我无法找到解决方案。请帮助我了解如何在不同的用户登录下运行进程。在Java中是否有类似c#
impersonization
的内容?
答案 0 :(得分:0)
Java是一种多平台语言,往往没有内置任何特定于平台的东西,因此Java平台没有Windows的UAC概念。
由于这个,以及你只想使用Windows的意图,我会质疑你为什么要使用Java ...... java.lang
中没有类似ProcessBuilder
的类似乎有任何指定用户名/密码的选项。
你可以做的是用一些参数调用Windows {runas.exe
:
runas.exe /noprofile /env /user:DOMAIN\username perl.exe myscript.pl
您会收到一个命令提示,要求您输入密码