2013-03-13 4 views
1

Не знаю, возможно ли это, но я хотел бы олицетворять текущего зарегистрированного пользователя из Сервиса? Обратите внимание, я не знаю пароль имя пользователя для текущего вошедшего/активного пользователя на машине ..Олицетворять текущего пользователя из службы

Если кто имеет какую-либо документацию/образцы о том, как сделать это будет большая помощь ...

+0

Является ли сервис всегда активным или можно ли запустить его при входе пользователя в систему? – Deruijter

+3

Что делать, если несколько пользователей вошли в систему? – Joe

+0

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

ответ

3

Может быть 0, 1 или более одного пользователя, которые вошли в систему.

Лучший способ справиться с любым взаимодействием, в котором взаимодействует служба и «входящий» пользователь, состоит в том, чтобы разделить это взаимодействие на две (или более) программы.

Сервисный код просто запускает любой код, который ему нужен, в качестве службы, и предоставляет API-интерфейс какой-либо формы.

Вторая программа запускается в рамках каждого сеанса пользователя (например, помещая ее в папку автозагрузки), а затем подключается к службе с использованием разработанного вами API.

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