Могу ли я программно управлять (добавлять / редактировать / удалять) сайтами IIS 7 из Coldfusion? - PullRequest
7 голосов
/ 05 октября 2010

Используя Coldfusion 8/9, как мне поступить с управлением IIS7.Например:

Я создаю генератор веб-сайтов. Когда кто-то заполняет форму, будет создан веб-сайт.Шаг в этом процессе будет состоять в том, чтобы создать сайт IIS с определенными заголовками хоста / привязками ip.Другим шагом может быть предоставление пользователю возможности загружать сертификат SSL.Это не может быть возможно, я не уверен.Но я знаю, что должен быть способ взаимодействия с IIS7.

Ответы [ 4 ]

9 голосов
/ 05 октября 2010

К счастью, ColdFusion 8 и 9 могут создавать экземпляры компонентов .NET, это означает, что вы можете получить доступ к API администрирования IIS для управляемого кода .NET:

Использование сборок Microsoft .NET

IIS7 поставляется с двумя API-интерфейсами управления управляемым кодом .NET:

Microsoft.Web.Administration

Microsoft.Web.Management

Они находятся в: c:\windows\system32\inetsrv.

Используя эту функцию, вы сможете использовать эти API через ColdFusion для создания веб-сайтов и управления функциями IIS.

Если возникают проблемы с непосредственным вызовом этих API (т. Е. Некоторые элементы данных невернитесь в ColdFusion должным образом) вы всегда можете обернуть вызовы этих API своим собственным кодом .NET.

Для получения дополнительной информации о создании веб-сайтов и управлении ими с помощью вышеуказанного API см. следующие ссылки:

Справочник по конфигурации IIS 7

Мощные инструменты администрирования

Как использовать Microsoft.Web.Administration

Справочник по API управляемого кода (IIS 7)

Следует также отметить, что учетная запись Windows, под которой работает сайт, должна входить в группу администраторов.управлять IIS через эти API.

Если бы это был общедоступный сайт, я бы разделил приложение на две части.Ваш общедоступный сайт ColdFusion (работающий под учетной записью с низкими привилегиями) собирает информацию о создаваемом сайте.Публикация этих данных как задачи в очереди (может быть простой, например, в базе данных), предназначенной для чтения либо запланированной задачей, либо службой Windows (работающей как пользователь с высоким уровнем привилегий), которая периодически отбирает эти задачи из очереди.(скажем один раз каждые 15 или 30 секунд).

Это называется «песочницей» и означает, что если ваш сайт ColdFusion захвачен, то он не работает с повышенными правами и не может причинить значительный ущерб.Все задачи с высокими привилегиями помещаются в «песочницу» в процессе, не доступном через Интернет.

1 голос
/ 05 октября 2010

Для CF7, я полагаю, вы можете вызвать сценарий powershell с помощью cfexecute?

http://learn.iis.net/page.aspx/433/powershell-snap-in-creating-web-sites-web-applications-virtual-directories-and-application-pools/

0 голосов
/ 08 сентября 2011
0 голосов
/ 05 октября 2010

Я не думаю, что это выгодный способ сделать это. Это просто не сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...