管理/创建动态安全策略规则的最佳Java框架?

时间:2010-01-29 15:15:29

标签: java web-applications security

通常在任何Web应用程序中,主要的安全问题是保护试图访问未授权资源的恶意用户的资源。他们可以更改请求参数中的值,并尝试访问不属于该特定用户的内容。

例如: http://blah.com/id=foo 用户可以将其更改为http://blah.com/id=bar并尝试访问bar资源以进行访问。

通过提供宁静的服务,这可能会带来更大的安全问题,因为宁静的URL是相当自我解释的。

例如:

http://hotels.com/hotels/1 用户可以轻松猜测并将id更改为2以查看其详细信息。
一种设计是手动检查每个请求以查看资源的访问权限,并在需要时拒绝它。
但这很麻烦而且难以维护。

所以问题是“是否有任何工具/框架能够以简单的方式帮助实现这一目标?我知道Spring安全支持静态规则而非动态。

2 个答案:

答案 0 :(得分:1)

在过去几年中,出厂标准已成为Spring Security。它位于任何旧的java webapp(不仅仅是Spring webapps)中,并提供您选择的拦截身份验证和授权层。

它非常强大,虽然也相当复杂(过于复杂,IMO)。

答案 1 :(得分:0)

我强烈建议您查看Seam Security。它甚至可以绑定到规则系统中。

编辑:我相信您需要Seam Core软件包才能正常运行。但是,我没有尝试过没有Seam,所以我不能肯定它的依赖性。