如何限制直接访问安全页面?

时间:2014-06-01 19:58:26

标签: java jsp java-ee servlets web.xml

Java Web应用程序如何限制对非管理员角色的安全页面的直接访问?例如,我在我的应用程序中有350-500个URL,我想隐藏其中的20-30个,并且仅允许访问它们以用于管理员角色。什么是解决这个问题的最佳方法?这种情况的最佳做法是什么?

我可能需要通过单个开始URI来获取组必需的URL吗?或者以某种方式使用web.xml属性?或者在会话中使用保存角色并使用servlet过滤器就足够了?在这种情况下的问题是我需要整理每个安全URL。但是将来可能有很多......

我认为所有人都面临着这个问题。请给我这种情况的标准和简单的解决方案!提前谢谢!

我会很感激任何建议和提示!

3 个答案:

答案 0 :(得分:1)

您可以尝试以下选项

是的,您可以按单个起始URI对必要的URL进行分组,可以按照上面的建议过滤过滤。


值得一读The Java EE 6 Tutorial - Security,探讨安全概念和示例

答案 1 :(得分:0)

你可以看看这里...... http://viralpatel.net/blogs/tutorial-java-servlet-filter-example-using-eclipse-apache-tomcat/

您需要以某种方式将它们分组到特定文件夹中。 比你应该在链接中创建一个过滤器..过滤器将获得模式/ admin /中的任何内容(假设您的页面将在那里)

在过滤器内部,您只需添加条件..

If(!admin) {
    /Redirect to anywhere you want
}

你可以使用更像春天安全的更有吸引力的东西,这个东西会有内在的逻辑,你只需要设置你的角色..我认为这将是更好的解决方案,但如果你不熟悉Spring会花更多的时间

希望有所帮助

答案 2 :(得分:0)

对于一个非常简单的应用程序,它肯定会有点过分,但如果已经全部使用SpringFramework,你可以看一下Spring Security。它涉及许多可能的身份验证,并且可以有非常简单或非常复杂的授权规则。

Apache Shiro也是一种更简单(但功能更弱)的替代方案。