这个安全平台结合Spring Security逆天了,我准备研究一下

举报
码农小胖哥 发表于 2022/04/01 00:10:09 2022/04/01
【摘要】 最近想要打通几个应用程序的用户关系,搞一个集中式的用户管理系统来统一管理应用的用户体系。经过一番调研选中了红帽开源的Keycloak,这是一款非常强大的统一认证授权管理平台。之所以选中了Keycloak是基于以下几个原因。 易用性 Keycloak为Web应用和Restful服务提供了一站式的单点登录解决方案。它的目标就是...

最近想要打通几个应用程序的用户关系,搞一个集中式的用户管理系统来统一管理应用的用户体系。经过一番调研选中了红帽开源的Keycloak,这是一款非常强大的统一认证授权管理平台。之所以选中了Keycloak是基于以下几个原因。

易用性

Keycloak为Web应用和Restful服务提供了一站式的单点登录解决方案。它的目标就是让应用的安全管理变得简单,让开发人员可以轻松地保护他们的应用程序和服务。并且Keycloak为登录、注册、用户管理提供了可视化管理界面,你可以借助于该界面来配置符合你需要的安全策略和进行用户管理。而且还可以

登录界面 可配置的GUI管理

功能强大

Keycloak实现了业内常见的认证授权协议和通用的安全技术,主要有:

  • 浏览器应用程序的单点登录(SSO)。

  • OIDC认证授权。

  • OAuth 2.0。

  • SAML。

  • 多租户支持。

  • 身份代理 - 使用外部 OpenID Connect 或 SAML 身份提供商进行身份验证。

  • 第三方登录。

  • 用户联盟 - 从 LDAP 和 Active Directory 服务器同步用户。

  • Kerberos 网桥 - 自动验证登录到 Kerberos 服务器的用户。

  • 用于集中管理用户、角色、角色映射、客户端和配置的管理控制台。

  • 用户账户集中管理的管理控制台。

  • 自定义主题。

  • 两段身份认证。

  • 完整登录流程 - 可选的用户自注册、恢复密码、验证电子邮件、要求密码更新等。

  • 会话管理 - 管理员和用户自己可以查看和管理用户会话。

  • 令牌映射 - 将用户属性、角色等映射到令牌和语句中。

  • 安全策略恢复功能。

  • CORS 支持 - 客户端适配器具有对 CORS 的内置支持。

  • 自定义SPI接口扩展。

  • JavaScript 应用程序、WildFly、JBoss EAP、Fuse、Tomcat、Jetty、Spring 等客户端适配器。

  • 支持任何具有 OpenID Connect Relying Party 库或 SAML 2.0 Service Provider 库的平台/语言。

有专门的Spring Boot Starter,非常容易集成到Spring Boot中。

基于实践的开源

“红帽出品,必属精品。”红帽良好的口碑决定了Keycloak的可靠性。它遵循Apache 2.0开源协议进行开源,经过八年的持续开源,代码质量很高,非常适合做定制化开发。红帽的商业付费认证授权产品Red Hat SSO就是基于Keycloak。为企业提供了动态单点登录的解决方案,间接证明了Keycloak的可靠性。

适配Spring Security

这个框架对Spring SecuritySpring Boot做了适配,非常适合使用了这两种体系的迁移扩展。这也是我选择它的重要原因之一。

缺点

虽然优点非常多,但是缺点也很明显。功能强大就意味着架构比较复杂,概念比较多,学习成本比较高。

KeyClock的核心概念

中文资料也比较少,需要自己去啃官方的文档。对于业务需要的认证方式可能会需要自行实现一些接口,同样考验着个人的编码能力。

最后

胖哥对这个东西关注了很久却没有下手,第一是因为它确实有挑战性,第二没有实际的开发场景,现在机会来了,今天对这个框架进行一个简单的介绍,让不了解它的同学先简单了解一下。如果你对Keycloak进行了详细的研究和实践,基本上能够搞定一些大中型的应用安全体系构建,既有诱惑也有挑战。另外这个程序适合做统一认证授权门户构建,不太适合一些小应用,相对比较重,不过微服务用这个应该非常棒。在目前新的Spring认证服务器还没有达到生产可用时是一个不错的选择。所以后续会和大家一起研究学习这个东西,感兴趣的朋友可以多多关注:码农小胖哥

这段Java代码连不少大佬都栽了跟头,何况我

2021-07-05

打个赌你可能不知道如何获取Java泛型的Class对象

2021-07-01

文章来源: felord.blog.csdn.net,作者:码农小胖哥,版权归原作者所有,如需转载,请联系作者。

原文链接:felord.blog.csdn.net/article/details/118533775

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。