有没有办法在不使用Java Web应用程序中的web.xml的情况下限制对Web资源的访问?

时间:2011-08-08 05:36:05

标签: java web-applications servlets

我想仅允许我的Web应用程序中的某些资源访问已登录的用户。我实现了身份验证而不使用任何j_security_check,因为我发现它非常严格且不透明。我想知道是否有任何干净的方法来限制对Web资源的访问,而不依赖于web.xml(security-constraint和web-resource-collection元素)。

此外,我不想使用任何膨胀的框架,如Spring等。

2 个答案:

答案 0 :(得分:1)

使用web.xml控制的安全模型是控制授权的主要方式。我认为你有重新发明轮子的危险。标准设施非常强大,我同意有一个学习曲线,但these等资源有帮助。

对于动态资源,您可以自由地实施自己的授权模型,对于人们所做的复杂授权,this article可能有所帮助。

答案 1 :(得分:1)

您可以定义Filter,将其映射到/*并让它处理受限制的资源。在您自己的配置文件中列出它们,并在访问其中一个资源时检查用户是否已记录。如果不是 - 重定向到登录页面;如果是 - 继续(chain.doFilter(..)