<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          重磅推薦:很全的 Java 權(quán)限認(rèn)證框架!

          共 3849字,需瀏覽 8分鐘

           ·

          2021-03-14 18:31

          來源:GitHub上sa-token 項目

          今天給大家推薦的這個開源項目超級棒,可能是史上功能最全的 Java 權(quán)限認(rèn)證框架!

          這個開源項目就是:sa-token

          Sa-Token是什么?

          sa-token是一個輕量級Java權(quán)限認(rèn)證框架,主要解決:登錄認(rèn)證、權(quán)限認(rèn)證、Session會話、單點登錄、OAuth2.0 等一系列權(quán)限相關(guān)問題

          框架針對踢人下線、自動續(xù)簽、前后臺分離、分布式會話……等常見業(yè)務(wù)進(jìn)行N多適配,通過sa-token,你可以以一種極簡的方式實現(xiàn)系統(tǒng)的權(quán)限認(rèn)證部分

          與其它權(quán)限認(rèn)證框架相比,sa-token 具有以下優(yōu)勢:

          1. 簡單 :可零配置啟動框架,真正的開箱即用,低成本上手
          2. 強大 :目前已集成幾十項權(quán)限相關(guān)特性,涵蓋了大部分業(yè)務(wù)場景的解決方案
          3. 易用 :如絲般順滑的API調(diào)用,大量高級特性統(tǒng)統(tǒng)只需一行代碼即可實現(xiàn)
          4. 高擴展 :幾乎所有組件都提供了擴展接口,90%以上的邏輯都可以按需重寫

          有了sa-token,你所有的權(quán)限認(rèn)證問題,都不再是問題!

          Sa-Token 能做什么?

          • 登錄驗證 —— 輕松登錄鑒權(quán),并提供五種細(xì)分場景值
          • 權(quán)限驗證 —— 適配RBAC權(quán)限模型,不同角色不同授權(quán)
          • Session會話 —— 專業(yè)的數(shù)據(jù)緩存中心
          • 踢人下線 —— 將違規(guī)用戶立刻清退下線
          • 持久層擴展 —— 可集成Redis、Memcached等專業(yè)緩存中間件,重啟數(shù)據(jù)不丟失
          • 分布式會話 —— 提供jwt集成和共享數(shù)據(jù)中心兩種分布式會話方案
          • 單點登錄 —— 一處登錄,處處通行
          • 模擬他人賬號 —— 實時操作任意用戶狀態(tài)數(shù)據(jù)
          • 臨時身份切換 —— 將會話身份臨時切換為其它賬號
          • 無Cookie模式 —— APP、小程序等前后臺分離場景
          • 同端互斥登錄 —— 像QQ一樣手機電腦同時在線,但是兩個手機上互斥登錄
          • 多賬號認(rèn)證體系 —— 比如一個商城項目的user表和admin表分開鑒權(quán)
          • 花式token生成 —— 內(nèi)置六種token風(fēng)格,還可自定義token生成策略
          • 注解式鑒權(quán) —— 優(yōu)雅的將鑒權(quán)與業(yè)務(wù)代碼分離
          • 路由攔截式鑒權(quán) —— 根據(jù)路由攔截鑒權(quán),可適配restful模式
          • 自動續(xù)簽 —— 提供兩種token過期策略,靈活搭配使用,還可自動續(xù)簽
          • 會話治理 —— 提供方便靈活的會話查詢接口
          • 組件自動注入 —— 零配置與Spring等框架集成
          • 更多功能正在集成中... —— 如有您有好想法或者建議,歡迎加群交流

          代碼示例

          sa-token的API調(diào)用非常簡單,有多簡單呢?以登錄驗證為例,你只需要:

          // 在登錄時寫入當(dāng)前會話的賬號id
          StpUtil.setLoginId(10001);

          // 然后在任意需要校驗登錄處調(diào)用以下API
          // 如果當(dāng)前會話未登錄,這句代碼會拋出 `NotLoginException`異常
          StpUtil.checkLogin();

          至此,我們已經(jīng)借助sa-token框架完成登錄授權(quán)!

          此時的你小腦袋可能飄滿了問號,就這么簡單?自定義Realm呢?全局過濾器呢?我不用寫各種配置文件嗎?

          事實上在此我可以負(fù)責(zé)的告訴你,在sa-token中,登錄授權(quán)就是如此的簡單,不需要什么全局過濾器,不需要各種亂七八糟的配置!只需要這一行簡單的API調(diào)用,即可完成會話的登錄授權(quán)!

          當(dāng)你受夠Shiro、Security等框架的三拜九叩之后,你就會明白,相對于這些傳統(tǒng)老牌框架,sa-token的API設(shè)計是多么的清爽!

          權(quán)限認(rèn)證示例 (只有具有user:add權(quán)限的會話才可以進(jìn)入請求)

          @SaCheckPermission("user:add")
          @RequestMapping("/user/insert")
          public String insert(SysUser user) {
          return "用戶增加";
          }

          將某個賬號踢下線 (待到對方再次訪問系統(tǒng)時會拋出NotLoginException異常)

          // 使賬號id為10001的會話注銷登錄
          StpUtil.logoutByLoginId(10001);

          除了以上的示例,sa-token還可以一行代碼完成以下功能:

          StpUtil.setLoginId(10001);                // 標(biāo)記當(dāng)前會話登錄的賬號id
          StpUtil.getLoginId();                     // 獲取當(dāng)前會話登錄的賬號id
          StpUtil.isLogin();                        // 獲取當(dāng)前會話是否已經(jīng)登錄, 返回truefalse
          StpUtil.logout();                         // 當(dāng)前會話注銷登錄
          StpUtil.logoutByLoginId(10001);           // 讓賬號為10001的會話注銷登錄(踢人下線)
          StpUtil.hasRole("super-admin");           // 查詢當(dāng)前賬號是否含有指定角色標(biāo)識, 返回truefalse
          StpUtil.hasPermission("user:add");        // 查詢當(dāng)前賬號是否含有指定權(quán)限, 返回truefalse
          StpUtil.getSession();                     // 獲取當(dāng)前賬號id的Session
          StpUtil.getSessionByLoginId(10001);       // 獲取賬號id為10001的Session
          StpUtil.getTokenValueByLoginId(10001);    // 獲取賬號id為10001的token令牌值
          StpUtil.setLoginId(10001, "PC");          // 指定設(shè)備標(biāo)識登錄
          StpUtil.logoutByLoginId(10001, "PC");     // 指定設(shè)備標(biāo)識進(jìn)行強制注銷 (不同端不受影響)
          StpUtil.switchTo(10044);                  // 將當(dāng)前會話身份臨時切換為其它賬號

          開源項目地址:https://github.com/click33/sa-token


          點擊閱讀全前往微服務(wù)電商教程
          瀏覽 58
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩色情视频在线播放 | 亚洲啊v在线观看 | 欧美成人手机 | 中文av中文字幕 中文一级久久黄色 | 特特级毛片 |