假设我有两个应用程序:service_1和service_2。
service_1是一个基本应用程序,每个拥有有效许可证的用户都可以根据其许可证使用该应用程序。
service_2是一个高级应用程序,意味着具有特殊许可证的用户可以通过以下流程获得它:
service_2_login
=> service_1_login
(service2 要求从 service1 登录,如果正常则用户可以访问 service2)。
这里的挑战是:当用户登录到service2并想要使用时service2.getService()
,我们需要检查其对该操作的许可权限。由于使用 web 方法license_service
位于service1is_licensed(User user, Operation operation)
服务器,我们必须以安全的方式操作这种通信 - 意味着避免中间人攻击等......
问题:如何设计这种机制?我的想法是挑战响应机制。第一:这是正确的方法吗?如果是,这似乎是一项巨大的开发工作。那么这个机制有一些c#实现吗?
谢谢!