第1章 課程整體概述
本章首先介紹為什么大公司都有權(quán)限管理系統(tǒng),然后會(huì)對(duì)權(quán)限管理中流行的RBAC模型及拓展做重點(diǎn)說(shuō)明,并給出理想中的權(quán)限管理系統(tǒng)應(yīng)該是什么樣子的。之后會(huì)對(duì)這門(mén)課程做總體內(nèi)容介紹與課程安排,最后會(huì)介紹這門(mén)課程會(huì)涉及到的技術(shù),讓大家明確了解到這門(mén)課程到底能收獲些什么
1-1 課程導(dǎo)學(xué)
1-2 為什么企業(yè)級(jí)項(xiàng)目需要權(quán)限管理
1-3 權(quán)限管理的核心是什么?
1-4 理想中的權(quán)限管理應(yīng)該是什么樣的?
1-5 主流開(kāi)源權(quán)限管理框架有哪些?
1-6 課程安排與知識(shí)點(diǎn)介紹
第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)限框架常見(jiàn)的應(yīng)用場(chǎng)景下對(duì)框架常用的API功能進(jìn)行編碼...
2-1 Spring Security權(quán)限管理框架介紹
2-2 Spring Security常用權(quán)限攔截器講解
2-3 Spring Security數(shù)據(jù)庫(kù)管理講解
2-4 Spring Security權(quán)限緩存講解
2-5 Spring Security自定義決策講解
2-6 基于SpringBoot的SpringSecurity環(huán)境快速搭建與驗(yàn)證
2-7 SpringBoot常用注解講解
2-8 基于SpringSecurity權(quán)限管理Case實(shí)操
2-9 SpringSecurity權(quán)限管理框架總結(jié)
第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)境依舊使用...
3-1 Apache Shiro權(quán)限管理框架介紹
3-2 Apache Shiro身份認(rèn)證講解
3-3 Apache Shiro授權(quán)講解
3-4 Apache Shiro權(quán)限攔截講解
3-5 Apache Shiro會(huì)話管理講解
3-6 Apache Shiro權(quán)限緩存講解
3-7 基于SpringBoot的Apache Shiro環(huán)境快速搭建與配置實(shí)操
3-8 基于SpringBoot連接數(shù)據(jù)庫(kù)與配置MyBatis實(shí)操
3-9 基于Apache Shiro權(quán)限管理Case實(shí)操-1
3-10 基于Apache Shiro權(quán)限管理Case實(shí)操-2
3-11 基于Apache Shiro權(quán)限管理Case實(shí)操-3-
3-12 Apache Shiro權(quán)限管理框架總結(jié)
第4章 權(quán)限管理系統(tǒng)核心表設(shè)計(jì)
知識(shí)點(diǎn)索引請(qǐng)?jiān)L問(wèn):http://www.imooc.com/article/21443,大家可能不清楚為什么有了流行的框架我們還需要自己開(kāi)發(fā)一套,因此本章開(kāi)始我們就來(lái)說(shuō)明這個(gè)問(wèn)題,之后我會(huì)演示這個(gè)系統(tǒng)開(kāi)發(fā)完的界面樣子,并根據(jù)演示給出我們需要開(kāi)發(fā)的功能,之后帶領(lǐng)大家一起完成詳細(xì)的數(shù)據(jù)庫(kù)設(shè)計(jì)(部門(mén)表,用戶表,權(quán)限模塊表,權(quán)限表,角色表,...
4-1 為什么要自己開(kāi)發(fā)一套權(quán)限管理系統(tǒng)?
4-2 我們要開(kāi)發(fā)一套怎樣的權(quán)限管理系統(tǒng)?
4-3 部門(mén)表設(shè)計(jì)
4-4 用戶表設(shè)計(jì)
4-5 權(quán)限模塊表設(shè)計(jì)
4-6 權(quán)限表設(shè)計(jì)
4-7 角色表設(shè)計(jì)
4-8 角色-用戶,角色-權(quán)限關(guān)聯(lián)關(guān)系表設(shè)計(jì)
4-9 權(quán)限相關(guān)Log表設(shè)計(jì)
4-10 數(shù)據(jù)表設(shè)計(jì)規(guī)范與總結(jié)
第5章 Spring MVC開(kāi)發(fā)環(huán)境搭建與配置
本章我會(huì)手把手帶大家使用SpringMVC搭建一套完整的開(kāi)發(fā)環(huán)境(不限于權(quán)限系統(tǒng)項(xiàng)目,所有后臺(tái)系統(tǒng)開(kāi)發(fā)都通用),并帶大家完成各種重要的配置,包括pom.xml配置、web.xml配置、spring-servlet.xml配置,applicationContext.xml配置、durid配置、mybatis-config.xml配置及l(fā)ogback.xml的配置,大家會(huì)從中學(xué)習(xí)到許多環(huán)境配置的細(xì)...
5-1 Spring MVC開(kāi)發(fā)環(huán)境搭建-pom.xml配置
5-2 Spring MVC開(kāi)發(fā)環(huán)境搭建-web.xml配置
5-3 Spring MVC開(kāi)發(fā)環(huán)境搭建-spring-servlet.xml配置
5-4 Spring MVC開(kāi)發(fā)環(huán)境搭建-applicationContext.xml配置
5-5 Spring MVC開(kāi)發(fā)環(huán)境搭建-druid配置
5-6 SpringMVC開(kāi)發(fā)環(huán)境搭建-mybatis-config.xml配置
5-7 SpringMVC開(kāi)發(fā)環(huán)境搭建-logback.xml配置
5-8 SpringMVC開(kāi)發(fā)環(huán)境驗(yàn)證
第6章 項(xiàng)目準(zhǔn)備與核心輔助工具類(lèi)開(kāi)發(fā)
本章開(kāi)始,我會(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的開(kāi)發(fā)。因?yàn)轫?xiàng)目會(huì)涉及json處理,我會(huì)專(zhuān)門(mén)封裝JsonMapper來(lái)完成類(lèi)...
6-1 核心類(lèi)生成-Mybatis Generator
6-2 項(xiàng)目接口定義-json,page
6-3 接口請(qǐng)求全局異常處理-設(shè)計(jì)與驗(yàn)證
6-4 校驗(yàn)工具-BeanValidator開(kāi)發(fā)
6-5 Json轉(zhuǎn)化工具-JsonMapper開(kāi)發(fā)
6-6 獲取Spring上下文工具-ApplicationContextHelper開(kāi)發(fā)
6-7 Http請(qǐng)求前后監(jiān)聽(tīng)工具-HttpInterceptor開(kāi)發(fā)
第7章 部門(mén)模塊開(kāi)發(fā)
本章帶大家進(jìn)行部門(mén)模塊的開(kāi)發(fā),主要涉及新增部門(mén)、更新部門(mén)、部門(mén)樹(shù)形結(jié)構(gòu)的生成的后端接口及前端渲染。由于會(huì)涉及前端開(kāi)發(fā),我會(huì)對(duì)頁(yè)面使用的內(nèi)容做一些封裝,方便后面頁(yè)面的復(fù)用,提高代碼復(fù)用性。并且上一章我們開(kāi)發(fā)的工具也將從這一章開(kāi)始大量的使用。這里涉及到的部門(mén)樹(shù)形結(jié)構(gòu)的開(kāi)發(fā)、部門(mén)更新時(shí)遞歸更新子部門(mén)、樹(shù)形...
7-1 新增部門(mén)接口開(kāi)發(fā)
7-2 部門(mén)層級(jí)樹(shù)接口開(kāi)發(fā)
7-3 更新部門(mén)接口開(kāi)發(fā)
7-4 新增部門(mén)、部門(mén)層級(jí)樹(shù)、更新部門(mén)接口自測(cè)
7-5 部門(mén)列表界面基本架構(gòu)開(kāi)發(fā)
7-6 部門(mén)列表樹(shù)型結(jié)構(gòu)界面開(kāi)發(fā)
7-7 部門(mén)列表交互功能開(kāi)發(fā)(新增部門(mén),刪除部門(mén),更新部門(mén))-1
7-8 部門(mén)列表交互功能開(kāi)發(fā)(新增部門(mén),刪除部門(mén),更新部門(mén))-2
7-9 部門(mén)列表交互功能開(kāi)發(fā)(新增部門(mén),刪除部門(mén),更新部門(mén))-3
第8章 用戶模塊開(kāi)發(fā)
本章帶大家開(kāi)發(fā)的是RBAC模型里的用戶模塊,這里除了完成對(duì)用戶的管理外,同時(shí)還處理了用戶登錄和注銷(xiāo)的功能,并將用戶登錄信息存儲(chǔ)到ThreadLocal對(duì)象中方便系統(tǒng)內(nèi)對(duì)當(dāng)前登錄用戶的信息進(jìn)行獲取。這個(gè)模塊首次涉及分頁(yè)列表的展示,因此我們封裝了一個(gè)分頁(yè)插件,方便后面相關(guān)模塊的代碼復(fù)用,這對(duì)大家以后的編程思想會(huì)有一個(gè)...
8-1 用戶參數(shù)對(duì)象UserParam編寫(xiě)
8-2 新增用戶接口開(kāi)發(fā)-1
8-3 新增用戶接口開(kāi)發(fā)-2
8-4 用戶登錄接口與界面開(kāi)發(fā)-1
8-5 用戶登錄接口與界面開(kāi)發(fā)-2
8-6 用戶退出接口開(kāi)發(fā)
8-7 列表分頁(yè)插件開(kāi)發(fā)
8-8 用戶分頁(yè)列表開(kāi)發(fā)-1
8-9 用戶分頁(yè)列表開(kāi)發(fā)-2
8-10 新增用戶,編輯用戶界面與交互功能開(kāi)發(fā)
8-11 ThreadLocal,LoginFilter實(shí)現(xiàn)登錄請(qǐng)求的攔截
8-12 IP獲取工具類(lèi),發(fā)送郵件工具類(lèi)的引入和代碼優(yōu)化
第9章 權(quán)限模塊開(kāi)發(fā)
本章帶大家開(kāi)發(fā)的是RBAC模型里的權(quán)限模塊,由于和部門(mén)模塊很相似,前端交互也相同,這個(gè)模塊我會(huì)教大家提高參考類(lèi)似模塊進(jìn)行低成本的開(kāi)發(fā)或改造的思路和能力。
9-1 權(quán)限模塊參數(shù)對(duì)象AclModuleParam編寫(xiě)
9-2 新增權(quán)限接口開(kāi)發(fā)
9-3 更新權(quán)限及子模塊的接口開(kāi)發(fā)
9-4 權(quán)限模塊樹(shù)界面開(kāi)發(fā)
9-5 權(quán)限模塊界面渲染
9-6 權(quán)限模塊界面交互功能實(shí)現(xiàn)-1
9-7 權(quán)限模塊界面交互功能實(shí)現(xiàn)-2
第10章 權(quán)限點(diǎn)模塊開(kāi)發(fā)
本章要帶大家開(kāi)發(fā)的是RBAC模型里的權(quán)限點(diǎn)模塊,主要是對(duì)權(quán)限點(diǎn)進(jìn)行管理。由于和用戶管理很相似,且相關(guān)的插件和函數(shù)都已經(jīng)封裝好,這章學(xué)習(xí)起來(lái)會(huì)比較輕松。
10-1 添加、更新權(quán)限點(diǎn)接口開(kāi)發(fā)
10-2 根據(jù)權(quán)限模塊獲取權(quán)限點(diǎn)接口與界面開(kāi)發(fā)-1
10-3 根據(jù)權(quán)限模塊獲取權(quán)限點(diǎn)接口與界面開(kāi)發(fā)-2
10-4 新增權(quán)限點(diǎn),編輯權(quán)限點(diǎn)交互功能實(shí)現(xiàn)
第11章 角色模塊開(kāi)發(fā)
本章要帶大家開(kāi)發(fā)的是RBAC模型里的角色模塊,主要是對(duì)角色進(jìn)行管理,包括獲取列表、新增、修改、刪除及相應(yīng)的前端交互,這章學(xué)習(xí)起來(lái)會(huì)比較輕松。
11-1 新增、更新角色接口開(kāi)發(fā)-1
11-2 新增、更新角色接口開(kāi)發(fā)-2
11-3 角色模塊界面開(kāi)發(fā)
11-4 角色模塊交互功能實(shí)現(xiàn)
第12章 角色權(quán)限關(guān)系開(kāi)發(fā)
本章要帶大家開(kāi)發(fā)的是是RBAC模型里的角色權(quán)限關(guān)系模塊。這章涉及到的技術(shù)要求較高,首先是后臺(tái)遞歸生成基于角色已分配權(quán)限的權(quán)限模塊和權(quán)限點(diǎn)組成樹(shù)形結(jié)構(gòu),并計(jì)算每個(gè)節(jié)點(diǎn)下的權(quán)限點(diǎn)是否需要勾選和可選,然后前端使用zTree插件對(duì)這個(gè)樹(shù)形結(jié)構(gòu)進(jìn)行動(dòng)態(tài)渲染,并允許更新。更新時(shí)我做了比較細(xì)節(jié)的處理,先查看要更新的權(quán)限點(diǎn)...
12-1 角色權(quán)限樹(shù)結(jié)構(gòu)接口開(kāi)發(fā)-1
12-2 角色權(quán)限樹(shù)結(jié)構(gòu)接口開(kāi)發(fā)-2
12-3 角色權(quán)限樹(shù)結(jié)構(gòu)接口開(kāi)發(fā)-3
12-4 角色權(quán)限樹(shù)結(jié)構(gòu)框架zTree的配置
12-5 角色權(quán)限樹(shù)結(jié)構(gòu)數(shù)據(jù)獲取
12-6 角色權(quán)限樹(shù)結(jié)構(gòu)界面渲染與交互功能實(shí)現(xiàn)-1
12-7 角色權(quán)限樹(shù)結(jié)構(gòu)界面渲染與交互功能實(shí)現(xiàn)-2
12-8 角色權(quán)限樹(shù)結(jié)構(gòu)界面渲染與交互功能實(shí)現(xiàn)-3
第13章 角色用戶關(guān)系開(kāi)發(fā)
本章帶大家開(kāi)發(fā)的是RBAC模型里的角色用戶關(guān)系模塊。相比角色權(quán)限關(guān)系開(kāi)發(fā),角色用戶關(guān)系的開(kāi)發(fā)會(huì)相對(duì)簡(jiǎn)單一些,這個(gè)主要體現(xiàn)在數(shù)據(jù)渲染上,這里我們引入duallistbox插件來(lái)展示待選用戶和已選用戶。后臺(tái)的更新操作和角色權(quán)限關(guān)系開(kāi)發(fā)基本是一致的,祝大家學(xué)習(xí)愉快! ...
13-1 角色權(quán)限與角色用戶Tab切換功能實(shí)現(xiàn)
13-2 角色用戶模塊接口開(kāi)發(fā)
13-3 角色用戶模塊界面開(kāi)發(fā)
13-4 角色用戶模塊交互功能實(shí)現(xiàn)
第14章 RBAC模型附加功能開(kāi)發(fā)
本章首先帶大家完成部門(mén)刪除、權(quán)限刪除功能的開(kāi)發(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)品的易用性和管理員...
14-1 刪除部門(mén)&刪除權(quán)限功能開(kāi)發(fā)
14-2 獲取用戶權(quán)限數(shù)據(jù)
14-3 獲取權(quán)限點(diǎn)分配的用戶和角色數(shù)據(jù)
第15章 權(quán)限攔截模塊開(kāi)發(fā)
本章帶大家開(kāi)發(fā)的是權(quán)限攔截模塊。在RBAC模型功能完備的基礎(chǔ)上,借助RBAC提供的數(shù)據(jù),利用Filter攔截后臺(tái)請(qǐng)求,編寫(xiě)我們定義的權(quán)限攔截規(guī)則,并對(duì)無(wú)權(quán)限訪問(wèn)的請(qǐng)求和頁(yè)面做了特殊的處理。這里可擴(kuò)展度很高,主要是把控權(quán)限攔截的細(xì)節(jié),可以根據(jù)業(yè)務(wù)的需要做定制及擴(kuò)展。提供系統(tǒng)的高度拓展性。 ...
15-1 權(quán)限攔截功能開(kāi)發(fā)-1
15-2 權(quán)限攔截功能開(kāi)發(fā)-2
15-3 權(quán)限攔截功能開(kāi)發(fā)-3
15-4 權(quán)限攔截功能開(kāi)發(fā)-4
第16章 權(quán)限緩存模塊開(kāi)發(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)...
16-1 Redis分布式緩存引入與保存緩存功能實(shí)現(xiàn)
16-2 更新Redis緩存功能實(shí)現(xiàn)
16-3 緩存場(chǎng)景分析
16-4 權(quán)限緩存功能實(shí)現(xiàn)
第17章 權(quán)限操作記錄模塊開(kāi)發(fā)
這一章對(duì)于做好權(quán)限管理特別重要,也是絕大部分權(quán)限系統(tǒng)和流行的權(quán)限框架都缺少的。我們將系統(tǒng)里部門(mén)、用戶、權(quán)限模塊、權(quán)限點(diǎn)、角色、角色與權(quán)限、角色與用戶的新增、更新的日志全部記錄下來(lái),在頁(yè)面上分頁(yè)展示,并支持根據(jù)類(lèi)型、操作人關(guān)鍵字、更新前關(guān)鍵字、更新后關(guān)鍵字、更新時(shí)間段進(jìn)行查詢,這極大的方便了權(quán)限系統(tǒng)的...
17-1 權(quán)限操作記錄模塊接口開(kāi)發(fā)
17-2 權(quán)限操作記錄模塊接口自測(cè)
17-3 權(quán)限操作記錄模塊界面開(kāi)發(fā)-1
17-4 權(quán)限操作記錄模塊界面開(kāi)發(fā)-2
17-5 權(quán)限操作記錄模塊交互功能實(shí)現(xiàn)-1
17-6 權(quán)限操作記錄模塊交互功能實(shí)現(xiàn)-2
第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)行選擇和拓展,非常希望這門(mén)課能給大家?guī)?lái)提高和收獲,這是做這門(mén)課程最...
18-1 課程總結(jié)
158資源整合網(wǎng):提供各類(lèi)學(xué)習(xí)資源,名師講座視頻,培訓(xùn)課程視頻,音頻,文檔等···各類(lèi)教程下載觀看。