我有一个特殊的网站,可以使用IIS7 ServerManager创建新网站:
using (ServerManager serverManager = new ServerManager())
{
// create new site logic here
}这个特殊的网站必须在系统帐户下运行才能管理IIS7。有没有办法创建一个特殊的windows用户,将其设置为站点的应用程序池标识,并赋予该用户仅访问IIS7而不是完全系统访问的特殊权限?
我之所以要这样做,是为了尽可能少地给站点的进程标识权限。
如果问题不够清楚,请让我知道:)
发布于 2010-10-14 19:29:51
如果您创建一个新帐户作为应用程序池标识,则需要使用此代码为其提供正确的权限,然后添加创建站点所需的权限:
导航至:
C:\Windows\Microsoft.NET\Framework\v2.0.50727
然后执行以下操作:
aspnet_regiis -ga域或计算机名\帐户名
查看此处http://msdn.microsoft.com/en-us/library/ff649309.aspx#paght000009_step2
发布于 2010-10-15 02:59:44
这实际上取决于应用程序应该能够做什么,如果您想要的只是创建新站点的能力,您可以创建一个帐户并授予对%windir%\system32\inetsrv\config\applicationHost.config.的读写访问权限话虽如此,但要非常小心,因为一旦他们可以写入该文件,他们就可以做强大的事情,例如,添加一个新的应用程序池作为系统运行,并在这一点上能够使用一个强大的身份来运行他们的代码。
如果你想允许它们回收、启动和停止运行时对象,如站点、应用程序池、应用程序域等,那么你将需要额外的步骤,但我不建议这样做。
此外,如果您实际上正在设置加密属性(如应用程序池或虚拟目录中的密码),则还需要授予加密密钥的权限,但我也不建议这样做,因为这将使它们能够解密密码。
https://stackoverflow.com/questions/3932598
复制相似问题