五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

發(fā)現(xiàn)一款更輕量級的權(quán)限框架,十分鐘就能快速上手,yyds

2023-03-10 16:08 作者:兩年半的java練習(xí)生  | 我要投稿

前言

作為一名后臺開發(fā)人員,權(quán)限這個名詞應(yīng)該算是特別熟悉的了。就算是java里的類也有 public、private 等“權(quán)限”之分。之前項目里一直使用shiro作為權(quán)限管理的框架。說實話,shiro的確挺強大的,但是它也有很多不好的地方。shiro默認的登錄地址還是login.jsp,前后端分離模式使用shiro還要重寫好多類;手機端存儲用戶信息、保持登錄狀態(tài)等等,對shiro來說也是一個難題。

在分布式項目里,比如電商項目,其實不太需要明確的權(quán)限劃分,說白了,我認為沒必要做太麻煩的權(quán)限管理,一切從簡。何況shiro對于springCloud等各種分布式框架來說,簡直就是“災(zāi)難”。每個子系統(tǒng)里都要寫點shiro的東西,慢慢的,越來越惡心。zuul網(wǎng)關(guān)就在這里大顯身手了,控制用戶的登錄,鑒定用戶的權(quán)限等等。zuul網(wǎng)關(guān)控制用戶登錄,鑒權(quán)以后再詳說。以上拙見。

然后最近我發(fā)現(xiàn)了另一個權(quán)限框架jcasbin,雖然網(wǎng)上還沒有很多關(guān)于博客,但是我看了一會就可以使用了。

一、準備

基于springboot1.5.10,但是和springboot關(guān)系不太大,所以版本可以忽略,用你熟悉的springboot版本就行。

1、mavan倉庫引入

2、配置文件

jcasbin把用戶的角色、權(quán)限信息(訪問路徑)放置在配置文件里,然后通過輸入流讀取配置文件。主要有兩個配置文件:model.conf?和?policy.csv。簡單的使用GitHub里都講了,在此就不再贅述了。

其實也可以讀取數(shù)據(jù)庫的角色權(quán)限配置。所以我們可以把關(guān)于數(shù)據(jù)庫的信息提取出來,可以進行動態(tài)設(shè)置。

這樣我們就可以在application.properties里進行相關(guān)配置了。model.conf是固定的文件,之間復(fù)制過來放在新建的和src同級的文件夾下即可。policy.csv的內(nèi)容是可以從數(shù)據(jù)庫讀取的。

二、讀取權(quán)限信息進行初始化

我們要對Enforcer這個類初始化,加載配置文件里的信息。所以我們寫一個類實現(xiàn)InitializingBean,在容器加載的時候就初始化這個類,方便后續(xù)的使用。

在這個類里,我們注入寫好的配置類,然后轉(zhuǎn)為靜態(tài)的,在afterPropertiesSet方法里實例化Enforcer并加載policy(策略,角色權(quán)限/url對應(yīng)關(guān)系)。

同時又寫了兩個方法,用來添加和刪除policy,Policy是自定的一個類,對官方使用的集合/數(shù)組進行了封裝。

三、使用

1、權(quán)限控制

jcasbin的權(quán)限控制非常簡單,自定義一個過濾器,if判斷就可以搞定,沒錯,就這么簡單。

寫在后面的話

其實可以把jcasbin和SpringCloud的zuul結(jié)合來實現(xiàn)用戶的統(tǒng)一登錄和權(quán)限控制。自定義一個過濾器繼承ZuulFilter即可,其他地方基本沒啥區(qū)別。


發(fā)現(xiàn)一款更輕量級的權(quán)限框架,十分鐘就能快速上手,yyds的評論 (共 條)

分享到微博請遵守國家法律
科技| 临颍县| 仁寿县| 文安县| 蓝田县| 全椒县| 合川市| 曲沃县| 湛江市| 贵州省| 南京市| 鱼台县| 凤冈县| 东乌珠穆沁旗| 临洮县| 离岛区| 阿拉善右旗| 南部县| 万源市| 丁青县| 神木县| 高雄市| 页游| 广西| 斗六市| 湾仔区| 东光县| 保定市| 隆化县| 铁岭县| 巩留县| 鹤庆县| 荆门市| 七台河市| 温州市| 新平| 赫章县| 贵州省| 自治县| 湖南省| 铁力市|