Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Настройка ASP-приложения под IIS 5.1 для авторизованного доступа  (Прочитано 14116 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« : 05-04-2008 19:27 » new

Есть проблемы (большие и странные) при запуске ASP (не .NET) приложения под IIS 5.1 (WinXP SP2) для авторизованного доступа.

Под анонимомной аутентификацией всё замечательно работает без вопросов.

Для Basic и/или Windows аутентификации почти не работает.

Сколько я понял, авторизация происходит так:
- Сперва аутентифицируется пользователь,
- Затем проверяются права пользователя на уровне NTFS - на доступ к файлам приложения.
- Если был выбран скрипт или CGI, проверяются права пользователя на запуск скриптов и/или CGI.
- Если в процессе исполнения скрипт или CGI обращается куда-либо к файлам или другим приложениям или COM-объектам, это тоже проверяется.
- Может ещё чего.

Во-первых, упорно запрещается доступ к файлам (ошибка 401.3) - куда бы их не помещать. Как нормальными средствами в Windows определить права пользователей на уровне NTFS для конкретных файлов и папок, я не знаю. У Microsoft есть KB для этого дела - советуется где-то в реестре вручную добавить какие-то параметры - пробовал и не помогло. Помогло лишь после переноса папки с веб-приложением в так называемые Shared Documents (профиль All Users папка Documents).

Во-вторых, как при Basic, так и при Windows аутентификации систематически возникает ошибка ASP 0201 "Неверное имя скриптового языка по умолчанию", хотя язык никто не трогал. Помогает на время поизменять туда-сюда язык по умолчанию в свойствах приложения под IIS. Поработает, потом опять сбивается. Перезапуск IIS не всегда помогает. Более того, IIS при этом (в режиме low-изоляции) может зависнуть намертво, сожрав весь процессор - можно лишь в диспетчере задач убить процесс inetinfo.exe.

Далее под Windows аутентификацией я не прошёл, поскольку IE 7.0 внятные ошибки "дружелюбно" прячет, ограничиваясь лаконичным "500 Внутренняя ошибка сервера", а с удалённой машины (FreeBSD) пускает только под Basic аутентификацией.

Под Basic аутентификацией серверный скрипт исполняется, но невозможно создать ни один COM-объект - не даёт. Попытка повышения прав со "Scripts only" до "Scripts and Executables" ни к чему не приводит - всё равно не даёт.

На Win2K и WinXP до SP2 я с таким будто бы никогда не сталкивался. Утомляет эта паранойя операционной системы без внятного управления.


Кто знает, как всё это нормально настроить? Где куда какие права прописать? Может пользователей приложения надо в какую-нибудь группу включить, политику какую создать? Как правами на уровне NTFS управлять?
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 05-04-2008 19:32 » 

Цитата
Во-вторых, как при Basic, так и при Windows аутентификации систематически возникает ошибка ASP 0201 "Неверное имя скриптового языка по умолчанию", хотя язык никто не трогал.
Попробуй определить язык в самом файле. Причем, только в том, который вызывается урлом, но не указывать в подключаемых файлах.
Код: (ASP)
<%@ Language=JavaScript%>
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 05-04-2008 21:02 » 

RXL, это прописано везде в asp (в inc, естественно, не прописано). Не в этом дело. Когда он выдаёт эту ошибку, он даже ещё не начинает читать файлы.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 07-04-2008 16:40 » 

Всё оказалось в доску просто. Нужно в проводнике Windows в параметрах снять галочку "Use simple file sharing (Recommended)", тогда в свойствах папок появляется вкладка Security, где можно настроить права пользователей на доступ к файлам на уровне NTFS - после этого сразу всё заработало как надо.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines