UnauthorizedAccessException
От: whatever  
Дата: 14.04.08 13:22
Оценка:
Есть windows service, написанный на C#, в нём есть форма. Чтобы форма отображалась, в свойствах этого сервиса стоит: Bxoд в cиcтeму: с cиcтeмнoй учeтнoй зaпиcью, Paзpeшить взaимoдeйcтвиe c paбoчим cтoлoм.
При вызове Directory.GetFiles(@"\\comp\dir\") получаю UnauthorizedAccessException. Права на полный доступ по сети к папке \\comp\dir\ были открыты всем, но это не помогло. Помогает запуск от имени другой учётной записи в домене, но тогда не отображается форма.
Вопрос — можно ли выполнить кусок кода от имени другой учётной записи (зная имя и пароль)? Или может есть другие способы отображать форму и иметь доступ к сети.
Re: UnauthorizedAccessException
От: stump http://stump-workshop.blogspot.com/
Дата: 14.04.08 17:14
Оценка:
Здравствуйте, whatever, Вы писали:

W>Есть windows service, написанный на C#, в нём есть форма. Чтобы форма отображалась, в свойствах этого сервиса стоит: Bxoд в cиcтeму: с cиcтeмнoй учeтнoй зaпиcью, Paзpeшить взaимoдeйcтвиe c paбoчим cтoлoм.

W>При вызове Directory.GetFiles(@"\\comp\dir\") получаю UnauthorizedAccessException. Права на полный доступ по сети к папке \\comp\dir\ были открыты всем, но это не помогло. Помогает запуск от имени другой учётной записи в домене, но тогда не отображается форма.
W>Вопрос — можно ли выполнить кусок кода от имени другой учётной записи (зная имя и пароль)? Или может есть другие способы отображать форму и иметь доступ к сети.

Запускайте службу от имени "NETWORK SERVICE", а доступ к шаре настраивайте для учетной записи ServerName$, где ServerName — имя компьютера на котором крутится служба.
Компьютер должен быть в домене AD.
В свойствах компьютера в Actiму Directory надо выставить флаг "Trust computer for delegation".
Если возникают проблемы смотрите здесь
Понедельник начинается в субботу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.