您好,登錄后才能下訂單哦!
這篇文章主要講解了“Spring Cloud服務安全連接方式是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Spring Cloud服務安全連接方式是什么”吧!
Spring Cloud可以增加HTTP Basic認證來增加服務連接的安全性。
在maven配置文件中加入Spring Boot的security啟動器。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
這樣,就開啟對服務連接的安全保護,系統默認為生成一個用戶名為”user”及一個隨機密碼,隨機密碼在服務啟動的時候在日志中會打印出來。
隨機密碼沒什么實際意義,我們需要一個固定的連接用戶名和密碼。
在應用配置文件中加入以下配置即可。
security: user: name: admin password: admin123456
這樣配置完后在連接這個服務的時候就會要求輸入用戶名和密碼,如果認證失敗會返回401錯誤。
{ "timestamp": 1502689874556, "status": 401, "error": "Unauthorized", "message": "Bad credentials", "path": "/test/save" }
1、注冊中心安全連接
username:password@ipaddress
2、Feign申明式服務安全連接
@FeignClient(name = "SERVICE", configuration = FeignAuthConfig.class) public interface OrderService extends OrderAPI { }
@Configuration public class FeignAuthConfig { @Bean public BasicAuthRequestInterceptor basicAuthRequestInterceptor() { return new BasicAuthRequestInterceptor("admin","admin123456"); } }
JWT - 網絡安全第一站
CORS - 跨域安全解決
Spring Security - 服務安全衛士
JWT的身份認證:
1、JWT全稱 - JSON Web Token
2、JWT主要用于身份認證和信息加密
3、JWT是一個簡單而有效的安全認證方式
1、JWT可以攜帶數據進行傳輸,方便后端使用
2、JWT可以對傳輸數據進行簽名,增加安全性
1、Header:存儲關于簽名算法的信息
2、Payload:存儲信息
3、Signature:header + payload + 秘鑰做一次hash356加密
1、驗證Token有效性
2、解析出JWT中的payload
3、是否需要驗簽
4、判斷userId是否有效
1、跨域資源共享:Cross-origin、resource sharing
2、域:當一個請求的協議、域名和端口三者之一不同即為跨域
3、在網關配置跨域資源的請求過濾,配置資源共享的方式和目標方
4、缺陷:如果出現跨域策略不足的情況,需要修改代碼,重新部署(代價大)->Nginx(可選方案)
1、Spring Cloud默認可以使用Spring Security進行身份驗證
2、Eureka Server可以使用Spring Security建立安全連接
3、Spring Cloud新版默認會開啟CSRF防御(可關閉),會導致一些錯誤
4、步驟:添加依賴包、配置注冊中心的用戶名和密碼
感謝各位的閱讀,以上就是“Spring Cloud服務安全連接方式是什么”的內容了,經過本文的學習后,相信大家對Spring Cloud服務安全連接方式是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。