3

根据我从反射器中收集到的信息,RunWithElevatedPriveleges 只是将当前线程身份恢复为基本(非模拟)身份。这对于在 WSS 应用程序池中运行的代码非常有意义,因为基本服务帐户是超级用户。在不存在模拟的情况下,在外部(控制台或服务)应用程序中运行时是否有任何影响?我猜不是,但我想确定一下。我从谷歌上看到了不同的意见。

4

3 回答 3

3

我认为如果您在一个帐户下运行可执行文件然后使用代码更改它的凭据(就像 SP 一样),它会。否则,如果没有某种方式生成 Credentials 对象,它就无法提升到它在开始时没有的权限。

于 2008-09-23T17:01:18.890 回答
3

通常 Runwithelevatedprivileges 将使您的代码作为应用程序池身份运行,但它在控制台中不起作用。在这种情况下,我们所做的是使用runas或将计划任务的标识设置为与应用程序池标识相同的帐户。

于 2008-09-24T13:48:51.763 回答
0

当 HTTPContext 为空时,RunWithElevatedPriveleges 不起作用。在控制台中,HTTPContext 为空。

于 2012-06-06T00:35:16.073 回答