<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 一、登錄 ~~~ http://127.0.0.1:8066 admin/admin ~~~ ## 二、訪問后端api需帶上token ~~~ 放header方式: Authorization:Bearer xxx ? 放參數方式: http://localhost:9900/api-user/users?access_token=xxx ~~~ ## 三、后端api方法不做認證方式 ~~~ zlt: security: ignore: httpUrls: '不想認證攔截的url' ~~~ ## 四、獲取當前登錄人對象 * 請求的方法參數SysUser上添加`@LoginUser`注解,則注入當前登錄人信息 ~~~ //例1:只有id、username 和 roles public void test(@LoginUser SysUser user) ? //例2:能獲取SysUser對象的所有信息 public void test(@LoginUser(isFull = true) SysUser user) ~~~ ## 五、獲取當前登錄的租戶 * 請求的方法參數上添加 @LoginClient 注解,則注入租戶id信息 ~~~ //例子: public void test(@LoginClien String clientId) ~~~ ## 六、認證token類型切換 * 本項目token類型支持3種方式:`db`、`redis`、`jwt` * 其中因為jwt使用的是非對稱加密,所以認證服務(zlt-uaa)需要配置為`authJwt`為私鑰加密,其他服務(例如網關)配置為`resJwt`為公鑰解密; * 通過修改`zlt.oauth2.token.store.type`變量即可改變 ![](https://box.kancloud.cn/ad71947f438747aeb053c2851c413a25_243x164.png) * 例如現在為jwt方式,需要修改為redis方式,只修改`zlt-uaa`和`zuul-gateway`或者`sc-gateway`的`zlt.oauth2.token.store.type`變量為`redis`即可 ## 七、無網絡隔離的系統環境下認證修改 * 因為當前的代碼是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`公鑰 ### 7.2. 修改`TokenArgumentResolver`類 改為通過SecurityContextHolder獲取用戶信息 ![](https://box.kancloud.cn/77efaeab972cf45aa4e8a900a7528a86_1060x632.png) ## 八、token自動續簽 * 目前續簽功能只支持`redis token`模式,請先確保授權服務器和認證服務器的`zlt.oauth2.token.store.type=redis` * **認證服務器**開啟自動續簽功能`zlt.security.auth.renew.enable=true` * 白名單與非名單功能是**非必填項**,不配置默認所有應用的token都會續簽 ![](https://box.kancloud.cn/16434d90e5f90ffdf9bdaae56a047d03_557x441.png) > 自動續簽原理:[系統設計-認證設計-token自動續簽設計](http://www.hmoore.net/zlt2000/microservices-platform/1165104) ## 九、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) ## 十、登錄同應用同賬號互踢 實現了在同一個應用id下,不同的瀏覽器使用相同的用戶名登錄,相互互踢。 在`zlt-uaa`中通過參數`isSingleLogin`來配置是否開啟功能,默認為`false`為可以同時登錄,改為`true`則會互踢 ~~~ zlt: uaa: isSingleLogin: true ~~~ ## 十一、單點登錄與單點登出 在`zlt-uaa`工程中通過參數`unifiedLogout`來配置是否開啟單點登出功能,默認為`false` ~~~ 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)
                  <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>

                              哎呀哎呀视频在线观看