Назад | Перейти на главную страницу

Чтение файлов в общей сетевой папке из службы Windows (приложение поверх Tomcat как службы)

У меня есть веб-приложение поверх tomcat6, которое устанавливается как служба на WinServer (2008 или 2003r2, точно не знаю, люди пока не разрешили мне приложить к нему руку). Служба Tomcat запускается с определенной учетной записью службы (не локальной, а созданной на контроллере домена), отличной от учетной записи, на которой запущен сервер.

У нас есть контроллер домена, поэтому наших пользователей всегда проверяют по ActiveDirectory.

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

И все же мое веб-приложение не может получить доступ к подпапке (которая находится чуть ниже корневой папки общего сетевого ресурса, //fileServer/sharedRootFolder/myFolder). Забавно: если я укажу веб-приложению на подпапку, которую мы используем как общую точку для обмена файлами между всеми сотрудниками (например, //fileServer/sharedRootFolder/ourCommonFolder), веб-приложение МОЖЕТ читать файлы. То же самое веб-приложение, запущенное из автономного Tomcat (та же версия 6.x) на моей рабочей станции, может читать оба места (работает с моей собственной учетной записью домена, которая, как оказалось, имеет меньше прав доступа к «недоступной» папке).

Существуют ли дополнительные настройки конфигурации для пользователя, службы Windows на сервере или разрешений в папке, о которых мне следует знать?

P.S. Я просматриваю данные разрешения, щелкнув правой кнопкой мыши - свойства - данные безопасности.

РЕДАКТИРОВАТЬ: В эта темаобъясняется «вход в систему в качестве службы», но, если учетная запись службы на основе домена имеет право на доступ к моей желаемой подпапке в общей сетевой папке (которая находится на другом сервере в той же локальной сети) и учетной записи службы входит в систему как сервис при запуске службы, что мне еще делать, чтобы иметь эффективный доступ к подпапке общего сетевого ресурса ???

РЕДАКТИРОВАТЬ2: В //fileServer/sharedRootFolder/ourCommonFolder папка имеет разрешения для Все, поэтому я предполагаю, что это указывает на что-то с конфигурацией службы, учетной записью службы на основе домена, запускающей ее, и "вход в систему в качестве службы" или что-то в этом роде.

РЕДАКТИРОВАТЬ3: Сегодня мы настроили «вход в качестве службы» для учетной записи службы (которая уже была локальным администратором на сервере), и она пока не работает. Идеи заканчиваются ...

Сначала я бы проверил, что ошибка на самом деле связана с отсутствием «пользовательских» разрешений. Посмотрите на файл журнала (в каталоге tomcat есть папка с именем log) - приложение может вести собственное ведение журнала, в противном случае ошибки будут отправляться в стандартный поток вывода - консоль, который обычно перенаправляется в текстовый файл .out в папке журнала. .

Можете ли вы войти на сервер под учетной записью пользователя, на которой запущен Tomcat? Вы можете попасть в нужную папку со своего ПК; ты можешь попасть туда с сервера? Нам нужно точно определить проблему, прежде чем мы сможем ее решить.