通常在任何Web应用程序中,主要的安全问题是保护试图访问未授权资源的恶意用户的资源。他们可以更改请求参数中的值,并尝试访问不属于该特定用户的内容。
例如:
http://blah.com/id=foo
用户可以将其更改为http://blah.com/id=bar
并尝试访问bar
资源以进行访问。
通过提供宁静的服务,这可能会带来更大的安全问题,因为宁静的URL是相当自我解释的。
例如:
http://hotels.com/hotels/1
用户可以轻松猜测并将id更改为2以查看其详细信息。
一种设计是手动检查每个请求以查看资源的访问权限,并在需要时拒绝它。
但这很麻烦而且难以维护。
所以问题是“是否有任何工具/框架能够以简单的方式帮助实现这一目标?我知道Spring安全支持静态规则而非动态。
答案 0 :(得分:1)
在过去几年中,出厂标准已成为Spring Security。它位于任何旧的java webapp(不仅仅是Spring webapps)中,并提供您选择的拦截身份验证和授权层。
它非常强大,虽然也相当复杂(过于复杂,IMO)。
答案 1 :(得分:0)
我强烈建议您查看Seam Security。它甚至可以绑定到规则系统中。
编辑:我相信您需要Seam Core软件包才能正常运行。但是,我没有尝试过没有Seam,所以我不能肯定它的依赖性。