ru24.pro
Все новости
Декабрь
2024
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
26
27
28
29
30
31

Разработать Windows-Сервис и службу авторизации и лицензирования

0
Добрый день!

ТЗ звучит примерно следующим образом:
Задача Windows-службы - пройти авторизацию, активировать лицензию и периодически обновлять лицензионный тикет.
При этом служба должна запустить клиентское приложение во всех терминальных сессиях и отслеживать появление новых сессий, для того чтобы запустить в них клиентское приложение.
При этом сервис должен установить связь со всеми клиентами (через Named Pipe, например)
При этом запуск процессов и создание именованных каналов должны осуществляться с правильно настроенными дескрипторами безопасности. А выход из приложения должен приводить к остановке Windows-службы. Перед завершением, должен быть показан диалог подтверждения на отдельном рабочем столе

Имеется готовый "сервер" на java, откуда сервис берет данные.

Нужно разработать по следующим задачам:
1. Создание оконного приложения (https://learn.microsoft.com/ru-ru/windows/win32/learnwin32/your-first-windows-program) на windows-forms
2. Управление областью уведомлений (https://learn.microsoft.com/ru-ru/windows/win32/shell/notification-area)
3. Создание службы и управление службой (https://learn.microsoft.com/ru-ru/windows/win32/services/using-services)
4. WTSEnumerateSessions - получение всех сессий, WTSQueryUserToken - проверка токена, ImpersonateLoggedOnUser - проверка пользователя, CreateProcessAsUser - создание процесса от пользователя
5. Безопасность (https://learn.microsoft.com/en-us/windows/win32/api/sddl/nf-sddl-convertstringsecuritydescriptortosecuritydescriptora)
6. SERVICE_CONTROL_SESSIONCHANGE - событие изменения сессии (events service (https://learn.microsoft.com/en-us/windows/win32/api/winsvc/nc-winsvc-lphandler_function_ex))
7. Каналы (PIPE) (https://learn.microsoft.com/ru-ru/windows/win32/ipc/using-pipes)

Имеется на 30-40% реализованный сервис и служба. Проект (сервер) на java - завершен.
Учебная работа, сам проект С++ не должен быть большим. Прошу оценить работу и писать мне для согласования цены.