假设我有一个 Java 服务器应用程序,它实现了一些 Web 服务。还假设我可以对应用程序用户进行身份验证。
现在我想为每个用户添加一些服务使用限制:例如速率限制(每秒请求数)、最大请求大小等。
Java中是否有任何“即用型”库可以做到这一点?
假设我有一个 Java 服务器应用程序,它实现了一些 Web 服务。还假设我可以对应用程序用户进行身份验证。
现在我想为每个用户添加一些服务使用限制:例如速率限制(每秒请求数)、最大请求大小等。
Java中是否有任何“即用型”库可以做到这一点?
如果您的所有呼叫都经过身份验证/授权服务,则可以将每个用户的限制合并到其中。我不知道允许您无需自定义编码的框架。
理想情况下,这种逻辑最好在服务本身之外进行配置。我知道骆驼为请求数量提供了内置限制。您可以定义自己的限制策略来映射每个用户请求的数量。
您需要创建一个简单的拦截器类。有一个 onPreExecute() 方法,您可以在其中放置自定义检查。我已经将它与 Spring 一起使用。
我还没有看到类似的东西可用。但是,如果您使用的是 Java EE 集成安全性,您可以引导它实现您自己的 LoginModule,您可以在其中执行这些检查,而无需接触您的 Web 服务代码。
请参阅http://docs.oracle.com/javase/6/docs/technotes/guides/security/jaas/JAASLMDevGuide.html