繁体   English   中英

无需登录即可使用spring boot和angular 8保护应用程序的方法是什么?

[英]Which is the way to secure app using spring boot and angular 8 without login?

我想保护使用 angular 8 和 spring boot 5 的应用程序,但它是一种自由形式,不需要登录即可访问 UI。 我已经使用 CSRF 保护来保护它,但是任何人都可以通过在请求标头中传递 CSRF 令牌来轻松访问 POST 端点,该令牌可以从 GET 其余端点获得。 所以我需要任何好的解决方案来实现安全性,这样除了项目中的角度页面之外,Spring 的其余端点不应该被访问。 谁能帮帮我吗。

简而言之,没有。

您可以通过点击处理您的请求的端点来隐藏请求,但是从您开始,请考虑您不能。

让我进一步解释一下:JavaScript 在客户端的浏览器中运行。 这意味着客户可以完全访问您的前端代码:如果他愿意,他可以完全分解您的应用程序。

好的一面是它只能在他自己的计算机上被破坏:客户端不能与其他客户端的浏览器混淆。

另一方面,你的服务器可以被任何东西访问,但你是拥有主控制权的人:你应该保护它。

为此,正如您所说,您可以使用 JWT。 但是 JWT 是一个认证过程,基本上是一个编码的字符串。 通过解码它,您可以获得客户端信息,但它们不是从数据库中获取,而是从令牌本身中获取。

如果您想保护您的端点,例如您可以声明只有具有令牌提供的 ID 的用户才能访问您的端点:没有签名就无法伪造令牌。 这将保护您的端点并防止其他用户进行修改。

考虑使用与您的后端语言对应的标签提出另一个问题,这比要求 Angular 解决方案更有帮助。

您是否考虑过将与浏览器 IP 相关的令牌的服务器端渲染嵌入到 Angular 中?

暂无
暂无

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

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