Кажется, я не могу получить волшебную комбинацию включения аутентификации NTLM и работы RDS. Если я оставлю только анонимную аутентификацию, RDS будет работать нормально - как только я включу ее для всего сайта, произойдет сбой RDS (что и следовало ожидать). Вот что я сделал:
- Это Windows XP SP2 и ColdFusion 8, Eclipse + плагины Adobe
- В диспетчере IIS щелкните правой кнопкой мыши веб-сайт по умолчанию и выберите «Свойства»
- Вкладка «Безопасность каталога», нажмите кнопку «Редактировать» для управления анонимным доступом и аутентификацией
- Всплывающее окно «Методы проверки подлинности», снимите флажок «Анонимный доступ» и установите флажок «Встроенная проверка подлинности Windows» (все остальные флажки также не указаны).
- Нажмите OK, OK и переопределите настройки для всех дочерних сайтов, чтобы весь сайт был «защищен» с помощью аутентификации NTLM.
- Вернувшись в диспетчер IIS, щелкните правой кнопкой мыши виртуальный каталог CFIDE, выберите Свойства
- Вкладка безопасности каталога, редактирование методов аутентификации. Снимите флажок Встроенная проверка подлинности Windows и проверьте анонимный доступ. Нажмите OK, ОК и проверьте:
C:\>wget -S -O - http://localhost/CFIDE/administrator/
--2009-01-21 10:11:59-- http://localhost/CFIDE/administrator/
Resolving localhost... 127.0.0.1
Connecting to localhost|127.0.0.1|:80... connected.
HTTP request sent, awaiting response...
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.1
Date: Wed, 21 Jan 2009 17:12:00 GMT
X-Powered-By: ASP.NET
Set-Cookie: CFID=712;expires=Fri, 14-Jan-2039 17:12:00 GMT;path=/
Set-Cookie: CFTOKEN=17139032;expires=Fri, 14-Jan-2039 17:12:00 GMT;path=/
Set-Cookie: CFAUTHORIZATION_cfadmin=;expires=Mon, 21-Jan-2008 17:12:00 GMT;path=/
Cache-Control: no-cache
Content-Type: text/html; charset=UTF-8
Length: unspecified [text/html]
Saving to: `STDOUT'
... html output follows ...
И пока все хорошо, каталог CFIDE и, по крайней мере, один дочерний каталог работают без аутентификации NTLM. Поэтому я запускаю Eclipse и пытаюсь установить соединение RDS. К сожалению, я просто получаю сообщение об отказе в доступе. При более глубоком расследовании выясняется, что Eclipse пытается установить связь с /CFIDE/main/ide.cfm - достаточно справедливо, вытащите верный wget, чтобы еще раз посмотреть, что делает IIS:
C:\>wget -S -O - http://localhost/CFIDE/main/ide.cfm
--2009-01-21 10:16:56-- http://localhost/CFIDE/main/ide.cfm
Resolving localhost... 127.0.0.1
Connecting to localhost|127.0.0.1|:80... connected.
HTTP request sent, awaiting response...
HTTP/1.1 401 Access Denied
Server: Microsoft-IIS/5.1
Date: Wed, 21 Jan 2009 17:16:56 GMT
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
Content-Length: 4431
Content-Type: text/html
Authorization failed.
Одна потенциальная ошибка, которая была задокументирована в другом месте, это то, что основной каталог и страница ide.cfm фактически не существуют на диске. IIS настроен для передачи всех файлов .cfm JRun, а JRun настроен для сопоставления ide.cfm с сервлетом RDS. В попытке заставить IIS быть немного более разумным, я удалил основной каталог и пустой файл ide.cfm на диске, надеясь, что это решит проблему аутентификации, но это не имело никакого значения.
Что я могу сделать в качестве обходного пути, так это оставить весь сайт в качестве анонимного доступа, а затем просто разрешить отдельным папкам приложений использовать встроенную проверку подлинности NTLM, но есть буквально сотни возможных веб-приложений, для которых я должен был бы сделать это для , Тьфу.
Пожалуйста, помогите !!!