PhantomJS在模仿管理员用户时不会运行

时间:2013-12-19 17:21:43

标签: phantomjs

由于不值得进入的原因,我在web.config中冒充管理员用户,如下所示。

<identity impersonate="true" userName="DOMAIN\USERNAME" password="PASSWORD" />

我很清楚这里的安全含义,在解决这个问题之后我会继续讨论。

这是我的控制器动作:

var phantomExePath = ConfigurationManager.AppSettings["PhantomExePath"];
var phantomJsDirectory = ConfigurationManager.AppSettings["PhantomJsDirectory"];
var filePath= phantomJsDirectory + "test.js";
var arguements = filePath;

var startInfo = new ProcessStartInfo
{
    UseShellExecute = false,
    CreateNoWindow = true,
    RedirectStandardOutput = true,
    RedirectStandardError = true,
    FileName = phantomExePath,
    Arguments = arguements
};

Process p = new Process();
p.StartInfo = startInfo;
p.Start();

var output = p.StandardOutput.ReadToEnd();

p.WaitForExit();
p.Close();

ViewBag.Test = output;

return View();

这是我的观点:

@ViewBag.Test

这是我的phantomJs文件:

system = require('system');
system.stdout.write('asdf');
phantom.exit();

如果我在web.config中注释掉模拟行,我让网站作为AppPool运行,它运行正常,我在屏幕上显示“asdf”。但是如果我在web.config中保留模拟,我就没有输出。在任务管理器中查看进程时,我会简要地看到PhantomJs.exe出现。

我已经为管理员用户提供了PhantomJs.exe和test.js的完全安全权限。

为什么冒充管理员用户的想法会阻止这种工作?

0 个答案:

没有答案