真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

基于SpringBoot的權限管理怎么實現(xiàn)

這篇文章主要講解了“基于Spring Boot的權限管理怎么實現(xiàn)”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“基于Spring Boot的權限管理怎么實現(xiàn)”吧!

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設計、網(wǎng)站制作與策劃設計,欒川網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設十多年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:欒川等地區(qū)。欒川做網(wǎng)站價格咨詢:18982081108

權限管理

權限是每個系統(tǒng)最重要的一部分,一般開發(fā)系統(tǒng)都是從權限系統(tǒng)開始。

從控制力度來看,可以將權限管理分為兩大類:

  • 功能級權限管理;

  • 數(shù)據(jù)級權限管理。

從控制方向來看,也可以將權限管理分為兩大類:

  • 從系統(tǒng)獲取數(shù)據(jù),比如查詢訂單、查詢客戶資料;

  • 向系統(tǒng)提交數(shù)據(jù),比如刪除訂單、修改客戶資料。

從類別上分,有兩大類:

  • 認證:你是誰?–識別用戶身份。

  • 授權:你能做什么?–限制用戶使用的功能。

從控制級別(模型)上分:

  • URL級別-粗粒度

在web.xml中配置一個過濾器filter,在過濾器中,對請求的地址進行解析,字符串截?。?url.substring()…把上下文前面的路徑都截取掉,剩下user_login.action。 過濾器代碼: 以通過查詢數(shù)據(jù)庫,來判斷,當前登錄用戶,是否可以訪問user_login.action。 url級別控制,每次請求過程中只控制一次 ,相比方法級別權限控制 是粗粒度的 !URL級別權限控制,基于Filter實現(xiàn)。

  • 方法級別-細粒度

aop面向切面的編程,在方法執(zhí)行之前,進行權限判斷,如果沒有權限,拋出異常,終止方法的繼續(xù)運行。 自定義注解 在需要權限控制方法上, 添加需要的權限信息 代理 (Spring AOP ),在目標方法運行時 進行增強 ,通過反射技術獲取目標方法上注解中權限 , 查詢數(shù)據(jù)庫獲取當前登陸用戶具有權限,進行比較。 相比URL級別權限控制, 可以控制到服務器端執(zhí)行的每個方法,一次請求中可以控制多次。

  • 頁面級別-自定義標簽(顯示)

頁面顯示的權限控制,通常是通過 自定義標簽來實現(xiàn)。

  • 數(shù)據(jù)級別-最細化的(數(shù)據(jù))

在每條數(shù)據(jù)上增加一個字段,該字段記錄了權限的值。數(shù)據(jù)和權限綁定。 代碼,你在查詢數(shù)據(jù)的時候,需要去權限和用戶對應表中,通過當前登錄用戶的條件,查詢出你的數(shù)據(jù)權限。然后再將數(shù)據(jù)權限作為一個條件,放到業(yè)務表中進行查詢。從而限制了數(shù)據(jù)的訪問。

Apache Shiro

Apache Shiro 可以不依賴任何技術使用, 可以直接和web整合,通常在企業(yè)中和Spring 結合使用。

  • Authentication: 認證 — 用戶登錄

  • Authorization : 授權 —- 功能權限管理

Shiro的框架的體系結構:

 基于Spring Boot的權限管理怎么實現(xiàn)

Shiro權限控制流程的原理: 基于Spring Boot的權限管理怎么實現(xiàn)

  • 應用代碼 —- 調(diào)用Subject (shiro的Subject 就代表當前登陸用戶) 控制權限 —- Subject 在shiro框架內(nèi)部 調(diào)用 Shiro SecurityManager 安全管理器 —– 安全管理器調(diào)用 Realm (程序和安全數(shù)據(jù)連接器 )。

  • Subject要進行任何操作,都必須要調(diào)用安全管理器(對我們來說是自動的)。 而安全管理器會調(diào)用指定的Realms對象,來連接安全數(shù)據(jù)。

  • Realms用來編寫安全代碼邏輯和訪問安全數(shù)據(jù),是連接程序和安全數(shù)據(jù)的橋梁。

系統(tǒng)效果

項目基礎框架采用全新的Java Web開發(fā)框架 —— Spring Boot,消除了繁雜的XML配置,使得二次開發(fā)更為簡單;數(shù)據(jù)訪問層采用Mybatis,同時引入了通用Mapper和PageHelper插件,可快速高效的對單表進行增刪改查操作,消除了大量傳統(tǒng)XML配置SQL的代碼;安全框架采用時下流行的Apache Shiro,可實現(xiàn)對按鈕級別的權限控制;前端頁面使用Bootstrap構建,主題風格為時下Google最新設計語言Material Design,并提供多套配色以供選擇。FEBS意指:Fast,Easy use,Beautiful和Safe。

系統(tǒng)功能模塊組成如下所示:

技術選型

后端

  • 基礎框架:Spring Boot

  • 持久層框架:Mybatis

  • 安全框架:Apache Shiro

  • 摸板引擎:Thymeleaf

  • 數(shù)據(jù)庫連接池:阿里巴巴Druid

  • 緩存框架:Ehcache

  • 日志打印:logback

  • 其他:fastjson,poi,javacsv,quartz等。

前端

  • 基礎框架:Bootstrap4

  • JavaScript框架:jQuery

  • 消息組件:Bootstrap notify

  • 提示框插件:SweetAlert2

  • 樹形插件:jsTree

  • 樹形表格插件:jqTreeGrid

  • 表格插件:BootstrapTable

  • 表單校驗插件:jQuery-validate

  • 多選下拉框插件:multiple-select

  • 圖表插件:Highcharts

開發(fā)環(huán)境

  • 語言:Java

  • IDE:Eclipse Oxygen

  • 依賴管理:Maven

  • 數(shù)據(jù)庫:Oracle 11g & MySQL 5.7

  • 版本管理:SVN,git

系統(tǒng)的效果如下:

基于Spring Boot的權限管理怎么實現(xiàn)

感謝各位的閱讀,以上就是“基于Spring Boot的權限管理怎么實現(xiàn)”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對基于Spring Boot的權限管理怎么實現(xiàn)這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關知識點的文章,歡迎關注!


文章名稱:基于SpringBoot的權限管理怎么實現(xiàn)
文章源于:http://weahome.cn/article/jssdpd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部