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