Проблема прав доступа
Столкнулся со следующей проблемой.
Из ASPNET MVC приложению на сервере необходимо запускать оконную программу, приложение работает под учеткой администратора.
Проставил соответствующее разрешение у процесса IISAdmin как указано тут http://support.microsoft.com/kb/555134.
В итоге программа запускается, но ее окно отрисовывается не полностью, не отрисовываются контролы (пробовал на различных программах).
В статье указанной выше говорится про какие то необходимые права учетки, под которой это все запускается, но не раскрывается какие ни в этой статье, ни в той, на которую дана дополнительная ссылка.
Так же там говорится про учетку SYSTEM - да, под ней окно отрисовывается нормально, но возникают другие проблемы, поэтому хотелось бы понять,
что необходимо и как прописать для учетки администратора.
Нужно разрешить взаимодействовать с десктопом. Не знаю, что это точно означает, но тут у людей эта проблема решилась.
угадал все буквы, не угадал слово :)
Панель управления - Администратор - Службы - Служба IIS (или как она там называется) - Закладка вход в систему - поставить галочку Разрешить взаимодействовать с рабочим столом. Об этом написано в саппорте мелкософта
Но там же написано, что нужно не только в службе IIS включить взаимодействие, а ещё и для учётки ASP.NET права изменить.
Но там же написано, что нужно не только в службе IIS включить взаимодействие, а ещё и для учётки ASP.NET права изменить.
Ну вообещ то там написано что надо либо дать и сервису ASP.NET право взаимодействовать с рабочим столом, либо запускать его от аккаунта SYSTEM
Но там же написано, что нужно не только в службе IIS включить взаимодействие, а ещё и для учётки ASP.NET права изменить.
Ну вообещ то там написано что надо либо дать и сервису ASP.NET право взаимодействовать с рабочим столом, либо запускать его от аккаунта SYSTEM
When IIS services are configured to allow interaction with the desktop, the ASPNET account does not have the correct rights to access the desktop because of the Discretionary Access Control Lists (DACLs) on the default window station and desktop. Administrators can change these DACLs, or you can run the process with an account that has permission to access these objects.
Неверно перевёл? По-моему, тут написано, что только настройки сервиса недостаточно. Ну а от SYSTEM ТС запускать процесс не желает.
я не использую в работе IIS, поэтому не могу сказать насколько это опасно. Хотя если речь идет о локальной сети - возможно что это допустимо.
По поводу перевода - хз. Я опираюсь на информацию, которая указана по ссылке в моем сообщении. Там указано что необходимо два шага - дать доступ ASP.NET к десктопу либо запускать его от системы, и дать доступ к десктопу напосредственно для IIS.
1. Give permission for ASP.NET worker process account (<localmachine>\ASPNET) to interact with desktop or allow ASP.NET worker process to run in SYSTEM account.
To know how to allow worker process to run in SYSTEM account and to know the default permissions of ASPNET account, check this article
INFO: Process and Request Identity in ASP.NET (http://support.microsoft.com/default.aspx?scid=kb;en-us;317012)
2. Enable IIS Admin Service to interact with desktop
To configure this, follow this steps.
a. Open Control Panel and follow these steps:
For Windows NT: click Services.
For Windows 2000, Windows XP, and .NET Server: click Administrative Tools, and then click Services.
b. Double-click IIS Admin Service.
c. On the Log On tab, select the Allow Service to Interact with Desktop check box.
Note: This article assumes that the IIS Admin Service runs as a local system.
d. Stop and restart the IIS Admin Service.