在 IIS7 中托管的 WCF 服务具有管理员权限吗?

在 IIS7 中托管的 WCF 服务具有管理员权限吗?

如何向 IIS7 中托管的正在运行的 WCF 服务授予管理员权限?

问题是,我的代码在以管理员身份运行的测试控制台应用程序中运行良好,但在 IIS7 中从 WCF 服务中使用的相同代码失败。当我以非管理员权限运行相同的控制台测试应用程序时,代码失败。

那么,如何向 IIS7 中托管的 WCF 服务授予管理员权限?我是否向 IIS7 服务授予管理员权限?我可以向特定 WCF 服务授予权限吗?如何在 IIS7 或特定网站上执行“以管理员身份运行”?

谢谢!

(这就是问题所在,下面是对情况的更详细描述:我正尝试使用 Touchless 库将网络摄像头的帧捕获到 jpg 文件中,并且我可以从具有管理员权限的控制台应用程序中执行此操作。当我在没有管理员权限的情况下运行同一个控制台应用程序时,我无法通过代码访问网络摄像头。同样的事情也会发生在使用相同代码的 WCF 服务中。)

答案1

您的 WCF 服务所运行的权限很可能是应用程序池标识。首先,在授予应用程序池管理员权限时要小心。如果可以的话,我会将此服务分离到它自己的应用程序池中,以尽量减少需要管理员权限的占用空间。

访问应用程序池并转到操作窗格中的高级设置。您可以在那里设置自己的自定义管理员用户。

此外,部分服务可能会以匿名用户帐户的身份运行。要更改此设置,请编辑网站,然后选择授权 -> 匿名。将其设置为使用应用程序池标识。这样,所有内容都将在应用程序池中设置的身份下运行。

相关内容