摘要:前言大致簡介項目主要逐步迭代講解服務開發(fā),通過實際的案例開發(fā)來講解,項目注解詳細適合作為教程案例,同時對代碼的演進還有重構(gòu)也會有對應的推文講解什么是登錄與賬戶安全大多數(shù)初級的程序員可能理解的比較簡單,即普通的表單登錄,數(shù)據(jù)查詢等等,但是真
GitHub
UncleCatMySelf/myself-security
前言大致簡介項目主要逐步迭代講解Spring Security + Spring Social + Spring Security OAuth + REST服務開發(fā),通過實際的案例開發(fā)來講解,項目注解詳細適合作為教程案例,同時對代碼的演進還有重構(gòu)也會有對應的推文講解!
什么是登錄與賬戶安全???
大多數(shù)初級的程序員可能理解的比較簡單,即普通的表單登錄,數(shù)據(jù)查詢等等,但是真正的企業(yè)登錄權(quán)限系統(tǒng)是如何的呢?現(xiàn)在大多數(shù)主流的權(quán)限系統(tǒng)一般都是使用Spring Security了,而我們的主題也是它,讓我們來深入了解這個權(quán)限框架吧!
項目搭建首先是項目的目錄,項目采用Maven多模塊模式開發(fā)。
1、Myself-security:主模塊(pom) 2、Myself-security-core:核心業(yè)務邏輯(jar) 3、Myself-security-browser:瀏覽器安全特定代碼(jar) 4、Myself-security-app:app相關(guān)特定代碼(jar) 5、Myself-security-demo:樣例程序(jar)相關(guān)Pom文件
讓我們來了解項目的主模塊的pom文件,這個的packaging要選擇為pom形式,我們選擇引入Spring IO來控制版本,還有配置Maven插件,具體如下
4.0.0 com.myself.security myself-security 1.0-SNAPSHOT pom 1.0-SNAPSHOT io.spring.platform platform-bom Cairo-SR4 pom import org.springframework.cloud spring-cloud-dependencies Finchley.SR1 pom import org.apache.maven.plugins maven-compiler-plugin 3.7.0 1.8 UTF-8 ../myselfsecuritycore ../myselfsecuritydemo ../myselfsecuritybrowser ../myselfsecurityapp
接下來是core的核心組件,這一塊的代碼較多,我中間部分就省略了,具體可以去GitHub查看
myself-security com.myself.security 1.0-SNAPSHOT ../myselfsecurity 4.0.0 myself-security-core org.springframework.cloud spring-cloud-starter-oauth2 ... ...
而app模塊是針對App的權(quán)限,這一塊只要引入core組件即可
myself-security com.myself.security 1.0-SNAPSHOT ../myselfsecurity 4.0.0 myself-security-app com.myself.security myself-security-core ${myself.security.version}
對于browser瀏覽器模塊,則需要加Session集群管理,由于app是使用token,而瀏覽器則是session
myself-security com.myself.security 1.0-SNAPSHOT ../myselfsecurity 4.0.0 myself-security-browser com.myself.security myself-security-core ${myself.security.version} org.springframework.session spring-session 1.3.3.RELEASE
demo組件是我們的代碼測試區(qū),還有功能實現(xiàn)測試,我們暫時先引用browser模塊。
啟動類myself-security com.myself.security 1.0-SNAPSHOT ../myselfsecurity 4.0.0 myself-security-demo com.myself.security myself-security-browser ${myself.security.version} org.springframework.boot spring-boot-starter-test org.springframework.boot spring-boot-maven-plugin 2.0.5.RELEASE repackage demo
接下來我們要編寫啟動類,我使用了Swagger插件,還有初始化時我們先移除Security的登錄驗證,當然yml配置文件也要先關(guān)了Session管理
package com.myself; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.swagger2.annotations.EnableSwagger2; /** * @author MySelf * @create 2018/9/15 * @desc Demo SpringBoot 啟動類 **/ @SpringBootApplication @RestController @EnableSwagger2 @EnableAutoConfiguration(exclude = { org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class }) public class DemoApplication { /** * 啟動類 * @param args {@link String} */ public static void main(String[] args) { SpringApplication.run(DemoApplication.class,args); } /** * 初始化創(chuàng)建接口服務 * @return {@link String} */ @GetMapping("/hello") public String hello(){ return "Hello Spring Security"; } }結(jié)尾
好了,運行項目,我們就可以看到初始化成功的項目啦!
如果本文對你有幫助,歡迎關(guān)注個人技術(shù)公眾號,謝謝。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/77119.html
摘要:前言大致簡介項目主要逐步迭代講解服務開發(fā),通過實際的案例開發(fā)來講解,項目注解詳細適合作為教程案例,同時對代碼的演進還有重構(gòu)也會有對應的推文講解什么是登錄與賬戶安全大多數(shù)初級的程序員可能理解的比較簡單,即普通的表單登錄,數(shù)據(jù)查詢等等,但是真 GitHub UncleCatMySelf/myself-security 前言 大致簡介項目主要逐步迭代講解Spring Security + S...
摘要:框架具有輕便,開源的優(yōu)點,所以本譯見構(gòu)建用戶管理微服務五使用令牌和來實現(xiàn)身份驗證往期譯見系列文章在賬號分享中持續(xù)連載,敬請查看在往期譯見系列的文章中,我們已經(jīng)建立了業(yè)務邏輯數(shù)據(jù)訪問層和前端控制器但是忽略了對身份進行驗證。 重拾后端之Spring Boot(四):使用JWT和Spring Security保護REST API 重拾后端之Spring Boot(一):REST API的搭建...
時間:2017年09月03日星期日說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com 教學源碼:https://github.com/zccodere/s...學習源碼:https://github.com/zccodere/s... 第一章:課程介紹 1-1 面向切面 課程章節(jié) 概覽 AOP使用 AOP原理 AOP開源運用 課程實戰(zhàn) 課程總結(jié) 面向切面編程是一種...
摘要:認證鑒權(quán)與權(quán)限控制在微服務架構(gòu)中的設(shè)計與實現(xiàn)一引言本文系認證鑒權(quán)與權(quán)限控制在微服務架構(gòu)中的設(shè)計與實現(xiàn)系列的第一篇,本系列預計四篇文章講解微服務下的認證鑒權(quán)與權(quán)限控制的實現(xiàn)。 java 開源項目收集 平時收藏的 java 項目和工具 某小公司RESTful、共用接口、前后端分離、接口約定的實踐 隨著互聯(lián)網(wǎng)高速發(fā)展,公司對項目開發(fā)周期不斷縮短,我們面對各種需求,使用原有對接方式,各端已經(jīng)很...
閱讀 2621·2021-09-28 09:35
閱讀 3268·2021-09-03 10:28
閱讀 2920·2019-08-30 15:43
閱讀 1485·2019-08-30 14:04
閱讀 1817·2019-08-29 17:02
閱讀 1821·2019-08-26 13:59
閱讀 702·2019-08-26 11:51
閱讀 3265·2019-08-23 17:16