最近想要打通几个应用程序的用户关系,搞一个集中式的用户管理系统来统一管理应用的用户体系。通过一番调研选中了红帽开源的Keycloak,这是一款很是强大的统一认证受权管理平台。之因此选中了Keycloak是基于如下几个缘由。程序员
Keycloak为Web应用和Restful服务提供了一站式的单点登陆解决方案。它的目标就是让应用的安全管理变得简单,让开发人员能够轻松地保护他们的应用程序和服务。而且Keycloak为登陆、注册、用户管理提供了可视化管理界面,你能够借助于该界面来配置符合你须要的安全策略和进行用户管理。 并且还能够面试
Keycloak实现了业内常见的认证受权协议和通用的安全技术,主要有:浏览器
并且有专门的Spring Boot Starter,很是容易集成到Spring Boot中。安全
红帽出品,必属精品。红帽良好的口碑决定了Keycloak的可靠性。它遵循Apache 2.0开源协议进行开源,通过八年的持续开源,代码质量很高,很是适合作定制化开发。红帽的商业付费认证受权产品Red Hat SSO就是基于Keycloak。为企业提供了动态单点登陆的解决方案,间接证实了Keycloak的可靠性。服务器
这个框架对Spring Security和Spring Boot作了适配,很是适合使用了这两种体系的迁移扩展。这也是我选择它的重要缘由之一。架构
虽然优势很是多,可是缺点也很明显。功能强大就意味着架构比较复杂,概念比较多,学习成本比较高。框架
学习成本比较高的另外一个缘由是中文资料比较少,须要本身去啃官方的文档。对于业务须要的认证方式可能会须要自行实现一些接口,一样考验着我的的编码能力。ide
若是你对Keycloak进行了详细的研究和实践,基本上可以搞定一些大中型的应用安全体系构建,既有诱惑也有挑战。另外这个程序适合作统一认证受权门户构建,不太适合一些小应用,相对比较重,不过微服务用这个应该很是棒。在目前新的Spring认证服务器尚未达到生产可用时是一个不错的选择微服务
最近我整理了整套《JAVA核心知识点总结》,说实话 ,做为一名Java程序员,不论你需不须要面试都应该好好看下这份资料。拿到手老是不亏的~个人很多粉丝也所以拿到腾讯字节快手等公司的Offer学习
进【Java进阶之路群】,找管理员获取哦-!