spring-security Spring Security的最佳实践[已关闭]

bxjv4tth  于 2022-11-11  发布在  Spring
关注(0)|答案(3)|浏览(138)

已关闭。此问题为opinion-based。当前不接受答案。
**想要改进此问题吗?**请更新问题,以便editing this post可以用事实与引用来回答.

三个月前关门了。
Improve this question
您能否建议我应该使用哪种Spring Security来保护真实的世界中的Sping Boot 应用程序,例如不使用社交媒体登录的银行应用程序?

gxwragnw

gxwragnw1#

Bcrypt意味着您将拥有自己的用户数据库,这与外部IdP完全不同。您将必须处理用户注册、自助服务、MFA和许多其他事情。
外部IdP或多或少是相似的,但有一个词...如果你在一个大型云中托管你的应用,那么检查你是否可以利用他们的用户池(对于AWS来说,它是Cognito,作为一个例子)。从一个Angular 来看,它使你的供应商锁定,但打开其他大门使用他们的内部服务与适当的IAM铭记。
如果你使用一个完全外部的,那么它们在功能上应该都很相似。Okta,Auth 0是我有经验的一些,但并不意味着没有其他的。
至于协议,没有偏好,尽管OIDC得到了供应商和第三方的很好支持。SAML有时被认为有点过时,尽管它是完全可靠的和防弹的。如果你的应用程序将调用一些其他服务,那么OIDC似乎是更自然的方式,因为你将不得不使用OAuth(我想)来调用外部提供商。
底线:决定你是否愿意把第一段提到的所有负担都扛在肩上。如果不愿意-〉就用一个外部的负担(我建议你这么做,但你必须为此付出代价,当然)。

vzgqcmou

vzgqcmou2#

引自你的问题:
我应该选择Bcrypt / OATH 2.0 / OIDC/ Okta /任何其他版本吗?
他们的方式你的问题是公式化的,带来了一个概念,你不清楚地了解这些工具,协议或产品的细节,这是完全好的,我的朋友,安全是另一个丛林,我们必须冒险。
不幸的是,这个问题没有简单的答案。安全性很重要,我们必须关注我们希望如何保护我们的应用程序,而且有多个层面需要保护,低估或轻视这个问题可能是非常危险的,而且在未来的道路上代价高昂。
我的建议:

  • 开始学习时要更加紧张和耐心,因为这是一个涉及面很广的主题
  • 咨询Maven,像Okta公司,Auth 0,Keycloak(社区)有惊人的人谁创造了最好的产品,以减轻我们在这件事上的困难,所以通过使用他们的产品,并得到他们的支持,应该保证您的应用程序遵循最佳的安全实践有,所以我们可以更有信心对我们的应用程序的安全,干杯.
esbemjvw

esbemjvw3#

我只是想补充一下上面的答案。
您会问我们的Maven,您应该采取哪些措施来保护您的应用程序,然后您会问:
Bcrypt / OATH 2.0 / OIDC/ Okta /任何其他
如果我将这个问题转换成别的问题,那就是:
我该用什么来钉这颗钉子呢?一块石头,一种观点,一份报纸,还是一种天气现象?
所以,正如你所看到的,你在比较一些毫无意义的东西。所以,让我们在一个高层次上把它分解一下。

B加密

是一种用于加密数据的加密算法。它是否会单独保护您的应用程序?不会。它是否会成为保护您的应用程序的一部分。嗯,是的(加密密码等)

OAUTH 2.0

是一个定义了一系列不同登录流的规范。它能帮助保护你的应用程序吗?是的,如果你选择实现一个oauth 2. 0流。

国际数据中心办公室

如果OAUTH 2.0定义了流(请求和答复)OIDC(Open ID Connect)是一个规范,它定义了请求和响应中应该包含什么。每个请求和响应中应该发送什么。因此,一个规范告诉你类应该是什么样子的,应该存在什么参数。它会对你有帮助吗?如果你选择实现OAUTH 2的话。0并希望发送结构化请求和响应,则确定。

奥克塔

一个你可以购买的产品,它实现了前面描述的两个规范。因此,如果你想与Okta交谈,那么你应该实现OAUTH 2.0流中的一个,使用OIDC请求和响应,并将它们发送给Okta。
所以现在当我描述了你试图比较的东西时,我希望你明白你所描述的东西是不能比较的,因为它们都是完全不同的东西。
你不能把狗比作飞机。
所有的东西都有它们的用法,所以我建议你多做研究。我这么说并不是不礼貌。

相关问题