我有一个用Java编写的Web服务,它有两个几乎相同的客户端访问它的方法。唯一的区别是一个客户端是“管理员”客户端。
但是,要求管理客户端可以在任何时候想要,阻止其他客户端访问Web服务,或者特别是其中的一些方法。
如何完成这样的事情?我想可以有一种方法来定义Web服务只能由Web服务代码中的特定客户端访问?有没有办法(我要求通用技术或概念,而不是直接代码在这里顺便说一句)这可以做到吗?或者还有其他方式需要完成吗?
编辑:我的客户端是在Windows上运行的Java应用程序
答案 0 :(得分:0)
创建一个组件/ service / object / whatever-your-framework-names-it,其中包含“是否允许非管理员连接”(您可以使用它扩展当前的授权模型)。对可能受影响的每个资源执行检查;通过管理路径或专用资源设置/重置它。
答案 1 :(得分:0)
如果您熟悉Web服务,您可能已经注意到其中一些需要访问令牌来发出请求。
访问令牌是一个不透明的字符串,用于标识用户,应用或页面,并且应用可以使用它来进行API调用。
因此,您可能希望在Java代码中实现它,以便只有授权的客户端才能向它发出请求。
在您的情况下,另一个更简单的解决方案是使用某种标记/指示符来知道管理员已发送请求并相应地继续。