Spring Security構建Rest服務-0100-前言


一、我的前言

這是看慕課網老師講的SpringSecurity的學習筆記,老師講的很好,開篇就說到了我的心里,老師說道:

有一定經驗的程序員如何提升自己?

1,每天都很忙,但是感覺水平沒有提升

2,不知道學什么,遇到復雜的業務場景時,又感覺技術儲備不夠

3,工作中寫過很多代碼,面試時候幾句話就說完了。(說道了我心坎里!)

這背后的原因就是,知識點的深入程度不夠。

自己不是很聰明,慢慢來,一步步學習一下!

這是一門講應用安全方面的課程,安全涉及很多東西,最基礎也是最重要的就是認證和授權。java業界比較流行的認證授權框架,一個是apache-shiro,是一個輕量級的安全框架,另一個就是Spring Security了,當下SpringBoot比較流行,而SpringBoot默認就是使用SpringSecurity框架的,所以有必要學一下!

說起認證和授權,表現形式就是登錄,就像當初剛工作的想法,登錄就是一個form表單,輸入用戶名密碼,去數據庫查有無用戶信息,實際上,認證授權要復雜的多,當初的想法真是太幼稚了!

 

在此,我想通過學習這個課,一步步完善一個通用的認證授權框架。現在前端技術層出不窮,VUE、Angular,,,,,前后端分離模式下,現在都流行使用token做認證。就我現在工作的公司而言,及時前端vue是基於瀏覽器的,可以使用cookie-session做用戶認證,但用戶信息也存在了redis。這樣有利於做集群啊,相當於用redis做session共享嘛。

通過學習這個框架,一可以熟悉下Springboot,二可以把工作中用到的一些東西集成進去,看慢慢能不能做成一個腳手架工程?用到的時候拿來即用

1-2企業級認證特性

實際上,企業級的認證和授權是很復雜的:

1,同時支持多種認證方式:

  除了用戶名密碼,還要支持手機短信微信、qq等第三方登錄。

2,同時支持多種前端渠道:

  如瀏覽器登錄(有cookie)app登錄(沒有cookie)是不一樣的。

3,其他的:

  支持集群環境:集群里一台機器登錄其他的怎么辦

  跨應用工作:單點登錄SSO

  Session控制:控制session的數量

  控制用戶權限:

  防護與身份認證相關攻擊

這些都是編寫企業級認證模塊需要考慮的問題和要實現的特性。本課程就是要實現一個可重用的企業級的認證和授權模塊。

1-3企業級的認證和授權

涉及到三個spring項目:

1、Spring Security(核心):

  提供認證和授權底層機制的實現,開發用戶名+密碼、手機號+短信

2、 Spring Social:

  社交項目,將應用連接到社交網站,實現第三方認證如qq登錄、微信登錄

3、Spring Security OAuth:

  上邊三種認證方式都是基於服務器Session的,登錄成功后用戶信息放在服務器Session里的,APP跟服務器通訊是沒有Session的,采用token方式存儲認證用戶的信息,Spring Security OAuth就是創建、管理、分發token用的,最終的效果就是讓用戶名+密碼,手機號+短信、第三方登錄這三種認證方式可以同時支持瀏覽器里基於服務器Session的認證,也可以在手機APP里基於token方式認證

1-4:課程目標

接下來進入第二章

http://www.cnblogs.com/lihaoyang/p/8466647.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM