我可以从Coldfusion以编程方式管理(添加/编辑/删除)IIS 7站点吗?

时间:2010-10-04 21:35:14

标签: iis iis-7 coldfusion

使用Coldfusion 8/9,我将如何管理IIS7。例如:

我正在建立一个网站生成器,当有人填写表格时,会生成一个网站。此过程中的一个步骤是创建具有特定主机头/ ip绑定的IIS站点。另一步可以是允许用户上传SSL证书。这可能是不可能的,我不确定。但我知道应该有一种与IIS7交互的方法。

4 个答案:

答案 0 :(得分:9)

幸运的是,ColdFusion 8和9可以实例化.NET组件,这意味着您可以访问.NET托管代码IIS管理API:

  

Using Microsoft .NET Assemblies

IIS7附带两个.NET托管代码管理API:

Microsoft.Web.Administration

Microsoft.Web.Management

这些位于:c:\windows\system32\inetsrv

使用此功能,您应该能够通过ColdFusion使用这些API来创建网站和管理IIS功能。

如果直接调用这些API有问题(即某些数据项没有正确编组回ColdFusion),您可以使用自己的.NET代码将这些API的调用包装起来。

有关使用上述API创建和管理网站的更多信息,请参阅以下链接:

  

IIS 7 Configuration Reference

     

Powerful Administration Tools

     

How to Use Microsoft.Web.Administration

     

Managed-Code API Reference (IIS 7)

还应注意,运行该站点的Windows帐户应该是Administrators组的成员,以通过这些API管理IIS。

如果这是面向公众的网站,那么我将应用程序分成两部分。面向ColdFusion(在低特权帐户下运行)站点的公众会收集有关要创建的站点的信息。将此数据作为任务发布到某种类型的队列中(可以像数据库一样简单),由计划任务或Windows服务(作为高权限用户运行)读取,该服务定期从队列中选择这些任务(比如每15或30秒一次)。

这称为“沙盒”,意味着如果您的ColdFusion站点被劫持,那么它不会在提升的权限下运行,也不会造成太大的损害。所有高权限任务都在一个没有通过网络浮出的过程中进行沙盒化。

答案 1 :(得分:1)

答案 2 :(得分:0)

答案 3 :(得分:-2)

我认为这不是一种有益的方式。它不会起作用。