К счастью, 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 захвачен, то он не работает с повышенными правами и не может причинить значительный ущерб.Все задачи с высокими привилегиями помещаются в «песочницу» в процессе, не доступном через Интернет.