繁体   English   中英

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

[英]How to restrict direct access to secure pages?

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

可能我需要按单个开始URI分组必要的URL? 还是以某种方式使用web.xml属性? 还是在会话中使用登录用户的保存角色并使用servlet过滤器就足够了? 在这种情况下,问题是我需要整理出每个安全网址。 但是将来可能会有很多...

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

如果有任何建议和提示,我将不胜感激!

您可以尝试以下选项

是的,您可以按单个开始URI分组必要的URL,如上所述,可以通过过滤器对其进行过滤。


值得阅读《 Java EE 6教程-安全性》 ,探讨安全性概念和示例。

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

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

在过滤器内部,您只需要添加条件即可。

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

您可以使用诸如Spring安全性之类的更为复杂的东西,该东西将具有内部逻辑,您只需要设置角色即可。我认为这将是更好的解决方案,但如果您不熟悉Spring,则将花费更多时间。

希望能有所帮助

对于一个非常简单的应用程序来说,它肯定会过时,但是如果已经准备好使用SpringFramework,则可以看看Spring Security。 它涉及身份验证,具有许多可能性,并且可以具有非常简单或非常复杂的授权规则。

Apache Shiro也是一个更简单(但功能不那么强大)的替代方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM