![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| YoD |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 29.11.2004 Репутация: нет Всего: нет |
Така проблема.
Пишу программу на c#. Она будет 100% работать под администраторской учёткой. Но она должна будет запускать различные екзешники, которым надо предоставить ограниченные права: запускаемые программы не должны, например, ребутить комп, менять системное время, лезть в реестр и многое другое. Как это сделать? Буду очень благодарен за фрагмент кода. |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 25 Всего: 173 |
В .NET 2.0 у метода System.Diagnostics.Process.Start есть перегруженный вариант, принимающий имя пользователя и пароль.
В .NET 1.1 придется вызывать WinAPI ф-цию CreateProcessWithLogon через P/Invoke. Вот простой пример:
Это сообщение отредактировал(а) Void - 2.1.2006, 18:42 -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Вообще-то, если программа написана для .NET, можно выставить ей права на доступ к реестру, файловой системе, сети и т.п., через конфиг-файл. Это может быть как machine.config, так и локальный конфиг программы. Можно также воспользоваться оснасткой ".NET Framework Configuration Tool (Mscorcfg.msc)". Подробнее о безопасности в .NET можно почитать на русском у Троелсена или тут.
-------------------- ![]() |
|||
|
||||
| YoD |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 29.11.2004 Репутация: нет Всего: нет |
Что касается запуска Dot Net 2.0 и перегруженного метода Start: его я нашёл, но проблема в том, что у меня он генерирует исключение "отказано в доступе". Не даёт запускать приложение от имени ограниченной записи. Если попробывать запустить от имени администраторской - то всё нормально
|
|||
|
||||
| YoD |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 29.11.2004 Репутация: нет Всего: нет |
Странно, вбил этот исходник. Постоянно говорит, что "имя пользователя или пароль не опознаны". Хотя я правильно вроде всё вписал... Добавлено @ 13:59
Честно перекопал в MSDN всё, касающеесе этой темы, НО того чего нужно не нашёл. Там есть возможность подгрузать сборки, ограничивая им права (правда описание там есть, но нормального примера нету. по описанию не всё понял). Но как запустить неуправляемое приложение, давая ему ограниченные права, я там не нашёл. Если тебе уже приходилось что-то подобное писать, подкинь исходник плз... И если пример конфиг файла программы для ограничения прав у тебя есть, тоже кинь... Только тогда такое вопрос: если .NETовская программа запустится с таким конфигом, то будет ли ограничение прав распространяться на все процессы (даже неNETовские), запускаемые этой прогой? |
||||||
|
|||||||
| Exception |
|
||||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
Это был вариант для
Нет.
У меня работает:
|
||||||||||
|
|||||||||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |