<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                [TOC] ## 一、登錄 ``` http://127.0.0.1:8066 admin/admin ``` &nbsp; ## 二、訪問后端api需帶上token ``` 放header方式: Authorization:Bearer xxx ? 放參數方式: http://localhost:9900/api-user/users?access_token=xxx ``` &nbsp; ## 三、后端api方法不做認證方式 ```yml zlt: security: ? ignore: httpUrls: '不想認證攔截的url' ``` &nbsp; ## 四、獲取當前登錄人對象 在被 `access_token` 鑒權過的請求的任意層任意方法中使用 >[warning] 無論在 contoller、service 或者 dao 層使用該方法都可以,需要服務滿足以下兩個條件: > 1. 服務依賴 zlt-common-spring-boot-starter > 2. 請求的入口方法需要鑒權 ### 4.1. 方法一獲取基本信息 ```java SysUser user = LoginUserContextHolder.getUser() ``` ### 4.2. 方法二獲取全部信息 ```java SysUser user = LoginUserUtils.getCurrentSysUser() ``` &nbsp; ## 五、獲取當前登錄的租戶 ```java //例子: String tenantId = TenantContextHolder.getTenant(); ``` &nbsp; ## 六、token類型切換 ![](https://img.kancloud.cn/84/30/8430b12ba9a7626f07f37bfe9ae8a8da_1601x1140.png) &nbsp; ## 七、無網絡隔離的系統環境下認證修改 * 因為當前的代碼是api網關統一認證的架構,適配有網絡隔離的環境下使用 * 而如果無網絡隔離的環境下代碼需求進行調整,將api網關的認證相關內容移去各個微服務里,架構可參考 [無網絡隔離認證設計](http://www.hmoore.net/zlt2000/microservices-platform/1153640) ![](https://box.kancloud.cn/162ccbec23d5392ec8abe01cdf567a66_606x805.png) 具體步驟: ### 7.1. 把一下內容從api網關移去各個微服務里: * `zlt-auth-client-spring-boot-starter` jar包依賴 * `ResourceServerConfiguration` 資源服務配置 * 刪除`UserInfoHeaderFilter`類 * 配置文件里面認證相關配置 ![](https://box.kancloud.cn/5606a2a6c696a425122731eee0539be3_555x666.png) * `pubkey.txt`公鑰 &nbsp; ## 八、token自動續簽 * 目前續簽功能只支持`redis token`模式,請先確保授權服務器和認證服務器的`zlt.oauth2.token.store.type=redis` * **認證服務器**開啟自動續簽功能`zlt.security.auth.renew.enable=true` * 白名單與黑名單功能是**非必填項**,不配置默認所有應用的token都會續簽 ![](https://box.kancloud.cn/16434d90e5f90ffdf9bdaae56a047d03_557x441.png) >[info]自動續簽原理:[系統設計-認證設計-token自動續簽設計](http://www.hmoore.net/zlt2000/microservices-platform/1165104) &nbsp; ## 九、url級權限 該功能默認關閉,開啟需要在網關添加url權限相關配置 ![](https://img.kancloud.cn/7e/1d/7e1d219b24c7e2c9f95cba6c4e99348d_1343x408.png) ### 9.1. 打開網關認證配置 `zlt.security.auth.urlPermission.enable`設置為`true` ### 9.2. 配置只認證登錄,登錄后所有角色都能訪問的url(可選項) `zlt.security.auth.urlPermission.ignoreUrls` ### 9.3. 配置白名單/黑名單(可選項) `zlt.security.auth.urlPermission.includeClientIds` `zlt.security.auth.urlPermission.exclusiveClientIds` 詳情查看:[url級權限控制](http://www.hmoore.net/zlt2000/microservices-platform/1202397) &nbsp; ## 十、登錄同應用同賬號互踢 實現了在同一個應用id下,不同的瀏覽器使用相同的用戶名登錄,相互互踢。 在 `zlt-uaa` 中通過參數 `isSingleLogin` 來配置是否開啟功能,默認為 `false` 為可以同時登錄,改為 `true` 則會互踢 ```yaml zlt: security: auth: isSingleLogin: true ``` &nbsp; ## 十一、單點登錄與單點登出 在 `zlt-uaa` 工程中通過參數 `unifiedLogout` 來配置是否開啟單點登出功能,默認為 `false` ```yaml zlt: security: auth: unifiedLogout: true ``` ### 11.1. demo樣例 - **zlt-demo\ss-sso**:使用springSecurity來實現自動單點登錄,非前后端分離 - **zlt-demo\web-sso**:前后端分離的單點登錄與單點登出 - **zlt-demo\oidc-sso**:擁有獨立用戶體系的系統,使用OIDC協議的單點登錄與單點登出 ### 11.2. 相關文章 - [單點登錄詳解](http://www.hmoore.net/zlt2000/microservices-platform/2278849) - [前后端分離的單點登錄](http://www.hmoore.net/zlt2000/microservices-platform/2278850) - [OIDC協議單點登錄](http://www.hmoore.net/zlt2000/microservices-platform/2278851) - [單點登出詳解](http://www.hmoore.net/zlt2000/microservices-platform/2539642) &nbsp; ## 十二、手動token鑒權工具 `zlt-auth-client-spring-boot-starter` 依賴只會對 `http` 請求進行攔截鑒權。 對于其他協議如 `webSocket`、`dubbo`、`MQ`等如果需要進行 token 鑒權,可手動使用以下方法: ```java SysUser user = AuthUtils.checkAccessToken(String accessTokenValue) ``` &nbsp; ## 十三、數據權限 在服務的 `application.yml` 配置中添加以下內容: ```yml zlt: datascope: # 開啟數據權限,默認為 false enabled: true ``` 詳細說明請看:[數據權限](http://www.hmoore.net/zlt2000/microservices-platform/2278849)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看