Проверка защищенной лицензии в распределенном приложении C#

Предположим, у меня есть два приложения: service_1 и service_2.

service_1 является базовым приложением, каждый пользователь с действующей лицензией может использовать это приложение в соответствии со своей лицензией.

service_2 - это приложение премиум-класса, это означает, что пользователь со специальной лицензией может получить его с этим потоком:service_2_login => service_1_login (service2 запрашивает логин у service1, если все в порядке, тогда пользователь может получить доступ к service2).

Проблема здесь: когда пользователь вошел в систему service2 и хочет использовать service2.getService() нам нужно проверить его лицензионные разрешения для этой операции. Так как license_service расположенный на сервере service1 с веб-методом is_licensed(User user, Operation operation)Мы должны обеспечить надежную защиту этой коммуникации - значит, избегать атак "Человек посередине" и т. д.

Вопрос: как спроектировать этот механизм? Мое мышление связано с механизмом ответа на вызов. Первый: это правильный путь? Если да, то, похоже, большие усилия по разработке. Так есть ли реализация C# для этого механизма?

Спасибо!

0 ответов

Другие вопросы по тегам