springboot-權限控制shiro(一)

1. 場景描述

(1)權限控制是IT項目特別是企業項目,繞不開的重要模塊,接下來結合springboot介紹下權限控制框架shiro。html

(2)springboot集成shiro的東西有點多,一篇博客徹底介紹清楚有點費勁,擬分紅3篇吧,第一篇介紹概念、原理;第二篇介紹搭建代碼,詳細介紹shiro框架;第三篇結合mybatis,搭建可運行項目。前端

2. 解決方案

2.1 簡介

目前的權限控制,不少公司或者企業採用的都是基於角色進行訪問控制的。web

百度百科介紹,RBAC(英文縮寫)spring

2.2 角色控制原理

經過數據庫表結構進行介紹數據庫

說明:apache

基於角色的權限控制,基本都是基於這五張表來的。springboot

這五張表分別是:mybatis

(1)用戶表,存儲用戶信息。框架

(2)角色表,存儲角色信息,這裏的角色相似於咱們生活中的角色,企業中角色通常是:財務錄單員、財務審覈人、財務經理、採購員、採購經理等等。maven

(3)資源表,通常是系統菜單或者其餘資源。

(4)用戶角色表,多對多關係。

(5)角色資源表,多對多關係。

流程:

(1)用戶登陸,校驗用戶名與密碼是否正確;

(2)經過用戶名獲取用戶對應的角色;

(3)經過角色獲取對應的資源,返回給前端。

2.3 經常使用框架

基於上面的權限控制原理,項目組能夠經過代碼來實現權限控制,也能夠經過框架來實現,之前經常使用的或者好多企業在用的是spring security權限控制框架,通常會基於spring security作一套統一登陸系統(單點登陸),由一個系通通一控制企業用戶權限,其餘系統經過接口方式獲取用戶權限信息。

之前項目中也一直使用spring security,可是security的過濾鏈仍是小多的,配置起來仍是稍微有點麻煩,後來聽別人提及shiro,看了下官網,又查了相關資料,shiro也是apache下的子項目,使用者也蠻多的,好評很多,發現比securiy簡潔不少,效果也差很少,後續的項目就改用shiro了。

2.4 shiro介紹

2.4.1 官網

http://shiro.apache.org/

2.4.2 使用方式

經過maven的gav獲取jar使用(目前官網最新版本1.4.1)

<dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-spring</artifactId>
            <version>1.4.0</version>
        </dependency>
2.4.3 shiro介紹

shiro主要包含六大模塊

(1)認證;(2)受權;(3)密碼;(4)回話管理;(5)web集成;(6)集成模塊

說明

經常使用的把(1)和(2)用好就能夠了,3-6能夠暫時不用管。

其中(1)是登陸校驗,就是校驗用戶名和密碼是否正確用的模塊;(2)是權限控制模塊,校驗登陸用戶是否有資源權限。

好了,先到這裏,下節開始全程擼碼與詳細shiro權限控制框架介紹。


I’m 「軟件老王」,若是以爲還能夠的話,關注下唄,後續更新秒知!歡迎討論區、同名公衆號留言交流!

原文出處:https://www.cnblogs.com/ruanjianlaowang/p/11246530.html

相關文章
相關標籤/搜索