Java 安全问题:对于RESTURL和静态HTML
我有一个这样的设计:Java 安全问题:对于RESTURL和静态HTML,java,security,spring,http,rest,Java,Security,Spring,Http,Rest,我有一个这样的设计: 它有一个核心部件,弹簧和其他部件一起运行 还有另一个部分,它有一个Tomcat服务器,只有HTML文件(不是jsp或任何其他文件)。所以,如果我想在Tomcat端更改页面,就不需要重新启动应用程序,也不需要将设计和代码部分分开。让我们接受我在我的web端(tomcat端)列出的用户。然后,我的web端发出GET请求,响应为JSON。PUT、DELETE和POST使用相同的方法进行 我现在有两个安全问题 首先,当用户希望在服务器端查看URL时,我将如何检查授权和身份验证?
- 它有一个核心部件,弹簧和其他部件一起运行
- 还有另一个部分,它有一个Tomcat服务器,只有HTML文件(不是jsp或任何其他文件)。所以,如果我想在Tomcat端更改页面,就不需要重新启动应用程序,也不需要将设计和代码部分分开。让我们接受我在我的web端(tomcat端)列出的用户。然后,我的web端发出GET请求,响应为JSON。PUT、DELETE和POST使用相同的方法进行
谢谢你的建议。首先,为什么要使用Tomcat来提供静态文件? 我将采取以下方法:
- 使用静态服务器提供静态文件(apache、lighttpd、nginx)。
- 此服务器将执行authN和authZ(使用LDAP目录或任何其他合适的auth后端)
- AuthN是使用Http Basic+SSL、Http摘要、WebID等方案完成的
- 将静态服务器配置为反向代理应用服务器,并使用相同的身份验证规则
URI不是“隐藏的”,但任何人都无法访问它们。因为用户已经通过了静态页面的身份验证,所以请求“rest uri”不需要身份验证。我已经开始了解您建议的技术和系统。你说得对,nginx似乎更符合逻辑。实际上我不明白反向代理在这里做什么。它隐藏URI吗?(并投票支持您的建议)反向代理允许您通过将请求转发到应用程序,为静态页面和动态页面使用相同的URI空间。服务器,并在必要时重写某些URI。它还允许应用程序。将身份验证委托给反向代理的服务器:因为请求到达rev。prox,仅当authZ正常时才转发。作为奖励,您可以平衡应用程序的负载。服务员。