一、前言
由于leader要求在搭好的spring cloud 框架中加入对微服务的认证包括单点登录认证,来确保系统的安全,所以研究了Spring Cloud Security这个组件。在前面搭好的demo中,如何确保微服务的安全,为整个系统添加安全控制,就需要用到Spring Cloud Security。用户通过服务网关zuul来访问任何一个微服务的时候,都需要跳转到第三方的认证比如github或者自己搭好的CAS单点登录服务,当认证通过才能访问对应的服务。在研究spring cloud security 之前先对一些概念进行了解了。
OAuth2(重点),参考文档:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html
Spring Security OAuth2,参考文档:http://docs.spring.io/spring-boot/docs/1.5.2.RELEASE/reference/htmlsingle/#boot-features-security-oauth2
在这个文章中主要记录当用户通过服务网关zuul入口访问任何一个微服务。需要先跳转到GitHub,使用Github进行认证,认证通过之后才能跳转到访问我们提供的微服务。
二、详细实现
2.1 准备工作
(1) 前往https://github.com/settings/developers,点击“Register a new application”按钮,添加一个应用。点击按钮后,界面如下图所示。Homepage URL 和callback url是写zuul的端口。
(2) 点击“Register application”按钮,即可出现如下图的界面。
记住这边的Client ID以及Client Secret,后面有用。
至此,准备工作就完

本文介绍了如何在Spring Cloud框架中集成Spring Cloud Security和CAS,以实现微服务的单点登录功能。首先,通过GitHub注册应用获取Client ID和Client Secret。接着在zuul工程中添加相关依赖,配置@EnableOAuth2Sso注解,进行安全配置。最后,通过测试验证了用户必须通过GitHub认证才能访问微服务。
最低0.47元/天 解锁文章
932

被折叠的 条评论
为什么被折叠?



