олицетворение для службы Windows, используя конфигурационный файл - PullRequest
0 голосов
/ 04 августа 2009

В настоящее время для запуска windowsservice от имени фиксированного пользователя мы устанавливаем свойства входа в службу windows (где мы указываем имя пользователя и пароль для запуска от имени).

но я хочу, чтобы эта функция запускала службу Windows от имени фиксированного пользователя как олицетворение в веб-приложении, указанном в файле конфигурации.

пожалуйста, подумайте об этом, это работоспособный подход простой способ реализовать это.

Ответы [ 3 ]

1 голос
/ 04 августа 2009

Да, вы можете использовать WindowsIdentity.Impersonate для олицетворения пользователя. Но было бы очень плохо делать то, что вы предлагаете. Вам необходимо найти безопасный способ хранения учетных данных пользователя в вашем app.config ( DPAPI, возможно ).

0 голосов
/ 05 августа 2009

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

Однако вы можете использовать LogonUser и WindowsIdentity.Impersonate, чтобы поток в вашей службе работал от имени конкретного пользователя. Однако, как говорит JP, он должен храниться надежно - с использованием шифрования и, вероятно, в безопасном месте в реестре, а не в файле app.config.

Вы также можете выдать себя за клиента, используя WCF или AuthenticatedStream и т. Д.

0 голосов
/ 04 августа 2009

Ваш второй абзац не имеет смысла ...

Если я понимаю, что, по вашему мнению, вы спрашиваете, предпочтительно указать учетную запись пользователя, под которой вы хотите запустить службу, используя вкладку входа в диалоговом окне свойств службы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...