初識sa-token,一行代碼搞定登陸受權!

前言

在java的世界裏,有不少優秀的權限認證框架,如Apache ShiroSpring Security 等等。這些框架背景強大,歷史悠久,其生態也比較齊全。java

但同時這些框架也並不是十分完美,在先後臺分離已成標配的互聯網時代,這些老牌框架的不少設計理已經至關滯後,沒法與咱們的項目完美契合。git

而今天我要介紹的這款框架,專門爲先後臺分離架構而生, 功能強大, 上手簡單 —— sa-token。github

sa-token 是什麼?

sa-token是一個輕量級Java權限認證框架,主要解決: 登陸認證、權限認證、Session會話 等一系列權限相關問題spring

sa-token的API調用很是簡單,一行代碼便可搞定登陸受權,廢話很少說,咱們直接上示例:架構

1. 添加pom依賴
<!-- sa-token 權限認證, 在線文檔:http://sa-token.dev33.cn/ -->
    <dependency>
        <groupId>cn.dev33</groupId>
        <artifactId>sa-token-spring-boot-starter</artifactId>
        <version>1.12.0</version>
    </dependency>
2. 調用框架API進行登陸
// 在用戶帳號密碼驗證成功後,直接調用如下API進行登陸受權
StpUtil.setLoginId(10001);

至此,咱們已經藉助sa-token框架完成登陸受權!框架

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

事實上在此我能夠負責的告訴你,在sa-token中,登陸受權就是如此的簡單,不須要什麼全局過濾器,不須要各類亂七八糟的配置!只須要這一行簡單的API調用,便可完成會話的登陸受權!設計

當你受夠Shiro、Security等框架的三拜九叩以後,你就會明白,相對於這些傳統老牌框架,sa-token的API設計是多麼的清爽!code

拒絕引入複雜的概念,以實際業務需求爲第一目標進行定向突破,業務上須要什麼,sa-token就作什麼,不搞各類雲裏霧裏的高大上概念,以化繁爲簡爲第一目標!xml

除了以上的登陸受權,sa-token還能夠一行代碼完成如下功能:

StpUtil.setLoginId(10001);          // 標記當前會話登陸的帳號id
StpUtil.getLoginId();               // 獲取當前會話登陸的帳號id
StpUtil.isLogin();                  // 獲取當前會話是否已經登陸, 返回true或false
StpUtil.logout();                   // 當前會話註銷登陸
StpUtil.logoutByLoginId(10001);     // 讓帳號爲10001的會話註銷登陸(踢人下線)
StpUtil.hasRole("super-admin");     // 查詢當前帳號是否含有指定角色標識, 返回true或false
StpUtil.hasPermission("user:add");  // 查詢當前帳號是否含有指定權限, 返回true或false
StpUtil.getSession();               // 獲取當前帳號id的Session 
StpUtil.getSessionByLoginId(10001); // 獲取帳號id爲10001的Session
StpUtil.getTokenValueByLoginId(10001);  // 獲取帳號id爲10001的token令牌值
StpUtil.setLoginId(10001, "PC");        // 指定設備標識登陸
StpUtil.logoutByLoginId(10001, "PC");   // 指定設備標識進行強制註銷 (不一樣端不受影響)
StpUtil.switchTo(10044);                // 將當前會話身份臨時切換爲其它帳號

sa-token的API衆多,請恕此處沒法逐一爲您展現,以上示例只是框架能力的很小一部分能力展現。

sa-token中,各類與登陸鑑權相關功能:踢人下線、自動續簽、同端互斥登陸等常見業務都可以一行代碼調用實現

關於sa-token的受權登陸先介紹至此,接下來的章節我會陸續介紹sa-token框架的其它各類強大能力

若是以爲文章寫得不錯還請你們不要吝惜爲文章點個贊,您的支持是我更新的最大動力!

最後附上項目連接:

相關文章
相關標籤/搜索