1

我需要保护托管在 azure 上的 Spring Cloud 功能暴露的休息端点。我们想使用 spring security 来验证和授权调用,但我无法做到。相同的代码适用于 springboot 应用程序,但对 spring cloud 功能没有任何影响。

所以把我的问题分解成更小的部分

  1. Spring Cloud 功能是否支持 Spring Security?
  2. 如果是,如何实现。
  3. 如果不是,那么实现这一目标的方法应该是什么?
4

2 回答 2

2
  1. 怀疑... Spring Security 是一个相当繁重的机制,它需要一些内存存储(会话、用户凭据等)或与存储解决方案(例如:db)或身份验证服务器的连接。所有这些实现都超出了简单函数的范围。从理论上讲,这是可能的,但效率非常低。
  2. -
  3. 我猜你在这些函数前面有某种 API 网关。一种常见的模式是拦截该网关中的所有调用,对其进行身份验证和授权(调用服务或使用内置的身份验证机制,具体取决于您的要求),然后将它们转发到只能调用的 spring 云函数从您的网络内部(通过 API 网关)。
于 2019-07-23T13:38:33.237 回答
-1

如果你的 api 有一个控制器,你可以使用 spring security 实现 oAuth2,它提供一个令牌来保护你的 url。

教程: https ://dzone.com/articles/securing-rest-services-with-oauth2-in-springboot-1 https://medium.com/google-cloud/understanding-oauth2-and-building-a-basic -您自己的授权服务器-初学者指南-cf7451a16f66

如果您在配置所有类型的客户端时需要帮助,请在下面发表评论,我会尽力为您提供正确的答案。

于 2019-07-23T13:34:29.253 回答