第1章?課程整體概述(配套教程:電商前端+電商后端+電商權(quán)限管理系統(tǒng)課程)
本章首先介紹為什么大公司都有權(quán)限管理系統(tǒng),然后會(huì)對(duì)權(quán)限管理中流行的RBAC模型及拓展做重點(diǎn)說(shuō)明,并給出理想中的權(quán)限管理系統(tǒng)應(yīng)該是什么樣子的。之后會(huì)對(duì)這門課程做總體內(nèi)容介紹與課程安排,最后會(huì)介紹這門課程會(huì)涉及到的技術(shù),讓大家明確了解到這門課程到底能收獲些什么(課程提供QQ交流群)。…
第2章 Spring Security權(quán)限框架理論與實(shí)戰(zhàn)演練
本章首先讓大家學(xué)習(xí)到Spring Security權(quán)限框架的架構(gòu),之后大家可以學(xué)習(xí)到Spring Security權(quán)限框架的核心概念,包括***、數(shù)據(jù)庫(kù)管理、緩存、自定義決策等等,之后會(huì)手把手帶大家基于Spring Boot+Spring Security搭建一套演練環(huán)境,并帶著大家在Spring Security權(quán)限框架常見的應(yīng)用場(chǎng)景下對(duì)框架常用的API功能進(jìn)行編碼…
第3章 Apache Shiro權(quán)限框架理論與實(shí)戰(zhàn)演練
本章課程安排和Spring Security框架的安排是一樣的,也是按照架構(gòu)、核心概念、搭建環(huán)境、編碼演練、優(yōu)缺點(diǎn)分析的流程來(lái)進(jìn)行講解。不同的是Shiro里的核心概念是對(duì)身份認(rèn)證、授權(quán)、權(quán)限攔截、會(huì)話管理、權(quán)限緩存等進(jìn)行介紹。通過(guò)對(duì)兩個(gè)框架的學(xué)習(xí),可以看出他們不同的設(shè)計(jì)理念,這里對(duì)比著學(xué)習(xí)效果會(huì)更好。搭建環(huán)境依舊使用…
第4章 權(quán)限管理系統(tǒng)核心表設(shè)計(jì)
知識(shí)點(diǎn)索引請(qǐng)?jiān)L問(wèn)大家可能不清楚為什么有了流行的框架我們還需要自己開發(fā)一套,因此本章開始我們就來(lái)說(shuō)明這個(gè)問(wèn)題,之后我會(huì)演示這個(gè)系統(tǒng)開發(fā)完的界面樣子,并根據(jù)演示給出我們需要開發(fā)的功能,之后帶領(lǐng)大家一起完成詳細(xì)的數(shù)據(jù)庫(kù)設(shè)計(jì)(部門表,用戶表,權(quán)限模塊表,權(quán)限表,角色表,…
第5章 Spring MVC開發(fā)環(huán)境搭建與配置
本章我會(huì)手把手帶大家使用SpringMVC搭建一套完整的開發(fā)環(huán)境(不限于權(quán)限系統(tǒng)項(xiàng)目,所有后臺(tái)系統(tǒng)開發(fā)都通用),并帶大家完成各種重要的配置,包括pom.xml配置、web.xml配置、spring-servlet.xml配置,applicationContext.xml配置、durid配置、mybatis-config.xml配置及l(fā)ogback.xml的配置,大家會(huì)從中學(xué)習(xí)到許多環(huán)境配置的細(xì)…
第6章 項(xiàng)目準(zhǔn)備與核心輔助工具類開發(fā)
本章開始,我會(huì)為大家介紹實(shí)用的Mybatis Generator工具,它可以根據(jù)數(shù)據(jù)庫(kù)表設(shè)計(jì)動(dòng)態(tài)生成相關(guān)的Java代碼。之后定義項(xiàng)目的接口規(guī)范,在此基礎(chǔ)上對(duì)接口的異常做全局的異常封裝處理,然后為了方便項(xiàng)目對(duì)參數(shù)校驗(yàn),我會(huì)帶領(lǐng)大家完成一個(gè)校驗(yàn)工具BeanValidator的開發(fā)。因?yàn)轫?xiàng)目會(huì)涉及json處理,我會(huì)專門封裝JsonMapper來(lái)完成類…
第7章 部門模塊開發(fā)
本章帶大家進(jìn)行部門模塊的開發(fā),主要涉及新增部門、更新部門、部門樹形結(jié)構(gòu)的生成的后端接口及前端渲染。由于會(huì)涉及前端開發(fā),我會(huì)對(duì)頁(yè)面使用的內(nèi)容做一些封裝,方便后面頁(yè)面的復(fù)用,提高代碼復(fù)用性。并且上一章我們開發(fā)的工具也將從這一章開始大量的使用。這里涉及到的部門樹形結(jié)構(gòu)的開發(fā)、部門更新時(shí)遞歸更新子部門、樹形…
第8章 用戶模塊開發(fā)
本章帶大家開發(fā)的是RBAC模型里的用戶模塊,這里除了完成對(duì)用戶的管理外,同時(shí)還處理了用戶登錄和注銷的功能,并將用戶登錄信息存儲(chǔ)到ThreadLocal對(duì)象中方便系統(tǒng)內(nèi)對(duì)當(dāng)前登錄用戶的信息進(jìn)行獲取。這個(gè)模塊首次涉及分頁(yè)列表的展示,因此我們封裝了一個(gè)分頁(yè)插件,方便后面相關(guān)模塊的代碼復(fù)用,這對(duì)大家以后的編程思想會(huì)有一個(gè)…
第9章 權(quán)限模塊開發(fā)
本章帶大家開發(fā)的是RBAC模型里的權(quán)限模塊,由于和部門模塊很相似,前端交互也相同,這個(gè)模塊我會(huì)教大家提高參考類似模塊進(jìn)行低成本的開發(fā)或改造的思路和能力。
第10章 權(quán)限點(diǎn)模塊開發(fā)
本章要帶大家開發(fā)的是RBAC模型里的權(quán)限點(diǎn)模塊,主要是對(duì)權(quán)限點(diǎn)進(jìn)行管理。由于和用戶管理很相似,且相關(guān)的插件和函數(shù)都已經(jīng)封裝好,這章學(xué)習(xí)起來(lái)會(huì)比較輕松。
第11章 角色模塊開發(fā)
本章要帶大家開發(fā)的是RBAC模型里的角色模塊,主要是對(duì)角色進(jìn)行管理,包括獲取列表、新增、修改、刪除及相應(yīng)的前端交互,這章學(xué)習(xí)起來(lái)會(huì)比較輕松。
第12章 角色權(quán)限關(guān)系開發(fā)
本章要帶大家開發(fā)的是是RBAC模型里的角色權(quán)限關(guān)系模塊。這章涉及到的技術(shù)要求較高,首先是后臺(tái)遞歸生成基于角色已分配權(quán)限的權(quán)限模塊和權(quán)限點(diǎn)組成樹形結(jié)構(gòu),并計(jì)算每個(gè)節(jié)點(diǎn)下的權(quán)限點(diǎn)是否需要勾選和可選,然后前端使用zTree插件對(duì)這個(gè)樹形結(jié)構(gòu)進(jìn)行動(dòng)態(tài)渲染,并允許更新。更新時(shí)我做了比較細(xì)節(jié)的處理,先查看要更新的權(quán)限點(diǎn)…
第13章 角色用戶關(guān)系開發(fā)
本章帶大家開發(fā)的是RBAC模型里的角色用戶關(guān)系模塊。相比角色權(quán)限關(guān)系開發(fā),角色用戶關(guān)系的開發(fā)會(huì)相對(duì)簡(jiǎn)單一些,這個(gè)主要體現(xiàn)在數(shù)據(jù)渲染上,這里我們引入duallistbox插件來(lái)展示待選用戶和已選用戶。后臺(tái)的更新操作和角色權(quán)限關(guān)系開發(fā)基本是一致的,祝大家學(xué)習(xí)愉快! …
第14章 RBAC模型附加功能開發(fā)
本章首先帶大家完成部門刪除、權(quán)限刪除功能的開發(fā)和交互,之后完成了兩個(gè)特別實(shí)用的接口,分別是查詢用戶已分配的角色和權(quán)限和查詢權(quán)限被分配的角色和擁有指定權(quán)限的用戶,這個(gè)特別有助于維護(hù)權(quán)限的管理員通過(guò)各個(gè)角度對(duì)分配的權(quán)限進(jìn)行查看,雖然是一個(gè)權(quán)限管理系統(tǒng)的非核心的,附加的功能,但是從一個(gè)產(chǎn)品的易用性和管理員…
第15章 權(quán)限攔截模塊開發(fā)
本章帶大家開發(fā)的是權(quán)限攔截模塊。在RBAC模型功能完備的基礎(chǔ)上,借助RBAC提供的數(shù)據(jù),利用Filter攔截后臺(tái)請(qǐng)求,編寫我們定義的權(quán)限攔截規(guī)則,并對(duì)無(wú)權(quán)限訪問(wèn)的請(qǐng)求和頁(yè)面做了特殊的處理。這里可擴(kuò)展度很高,主要是把控權(quán)限攔截的細(xì)節(jié),可以根據(jù)業(yè)務(wù)的需要做定制及擴(kuò)展。提供系統(tǒng)的高度拓展性。 …
第16章 權(quán)限緩存模塊開發(fā)(Redis分布式)
本章我們引入了redis來(lái)做權(quán)限緩存,讓系統(tǒng)變成分布式的系統(tǒng),在封裝好java操作redis的配置后,會(huì)大大家分析緩存可以放在哪些方法上。之后我會(huì)帶大家分析權(quán)限攔截涉及到的方法,分析出需要緩存的方法,然后我會(huì)演示如何有針對(duì)性的對(duì)指定的方法進(jìn)行緩存,并驗(yàn)證通過(guò)。過(guò)程中我會(huì)簡(jiǎn)單演示使用Redis Desktop Manager客戶端來(lái)…
第17章 權(quán)限操作記錄模塊開發(fā)
這一章對(duì)于做好權(quán)限管理特別重要,也是絕大部分權(quán)限系統(tǒng)和流行的權(quán)限框架都缺少的。我們將系統(tǒng)里部門、用戶、權(quán)限模塊、權(quán)限點(diǎn)、角色、角色與權(quán)限、角色與用戶的新增、更新的日志全部記錄下來(lái),在頁(yè)面上分頁(yè)展示,并支持根據(jù)類型、操作人關(guān)鍵字、更新前關(guān)鍵字、更新后關(guān)鍵字、更新時(shí)間段進(jìn)行查詢,這極大的方便了權(quán)限系統(tǒng)的…
第18章 課程總結(jié)
恭喜那些能堅(jiān)持學(xué)習(xí)到最后一章的同學(xué),課程講到這就要結(jié)束了,煽情的話就不多說(shuō)了,還是多留點(diǎn)時(shí)間給大家總結(jié)一下這套原生系統(tǒng)相對(duì)于流行的權(quán)限框架的一些優(yōu)點(diǎn),并指出了這套原生系統(tǒng)的可擴(kuò)展點(diǎn)及靈活性,方便大家活學(xué)活用,根據(jù)自己面對(duì)的業(yè)務(wù)需求進(jìn)行選擇和拓展,非常希望這門課能給大家?guī)?lái)提高和收獲,這是做這門課程最…