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

          SpringSecurity之權(quán)限模塊設(shè)計

          共 3868字,需瀏覽 8分鐘

           ·

          2023-05-24 01:44

          點擊上方“藍字”,發(fā)現(xiàn)更多精彩。

          8cc66a5c90b90656c25c012237e0875f.webp

          前面我們了解了關(guān)于微服務(wù)權(quán)限設(shè)計方案以及J W T的相關(guān)介紹,今天我們來聊一下,如何避免自己重復(fù)的寫相同的代碼,一次代碼實現(xiàn),即可完美復(fù)制到任何項目中實現(xiàn)權(quán)限相關(guān)的功能。



          0 1 實現(xiàn)思路

          首先,我們要做的就是先將我們的權(quán)限模塊的功能了解,要做哪些東西。比如:用戶登錄、授權(quán)、認證、過濾、攔截等等。


          我們將內(nèi)容寫完了,還不算完成,要做成可以引入到其他項目中的jar包,我們不能將一些配置項寫死,比如:過濾內(nèi)容、登錄路徑、退出路徑、數(shù)據(jù)庫訪問鏈接等等。


          上述文件是要讓使用jar包的人靈活的自己配置,可控的來實現(xiàn)他人的高度定制內(nèi)容!

          0 2


          代碼結(jié)構(gòu)

          我們看一下我自己實現(xiàn)的權(quán)限通用模塊的jar包,如下圖:

          f3a1490d27a38c2f332f4ce57e1213b5.webp

          上圖中每一個類的含義如下表所示:


          類名含義

          TokenWebSecurityConfig

          安全配置類(2.7.0之前版本使用的)

          TwoWebSecurityConfig

          安全配置類(2.7.0之后版本使用的)

          SecutityBaseController

          測試權(quán)限控制類

          TokenAuthFilter

          授權(quán)過濾器

          TokenLoginFilter

          認證過濾器

          PermissionResp

          權(quán)限響應(yīng)類

          DefaultPasswordEncoder

          密碼處理工具類

          TokenLogoutHandler

          退出處理器

          TokenManager

          token管理工具類

          UnauthEntryPoint

          未授權(quán)統(tǒng)一處理類

          實現(xiàn)未授權(quán)處理類

          SecurityUser

          安全用戶實體類

          SecurityApplication

          啟動類(打包時可刪除此類)

          這其中我引入了自己的通用模塊中的異常處理、以及一些工具類,這些類在使用過程中,完全可以自己去實現(xiàn),代碼大致相同的內(nèi)容。沒有必要完全照搬我的。自己適用即是最好的。


          0 2


          使用說明

          #工具使用說明

          ? ?使用時需要在啟動類掃描你的包路徑

          ## 1、Spring security的使用說明

          ? ? 不需要使用Spring security的需要在引入jar報的時候排除相關(guān)依賴

          ? ??

          ? ? ?<dependency>

          ? ? ? ??

          ? ? ? ? ? ? ? ? <groupId>org.springframework.boot</groupId>

          ? ? ? ? ? ? ? ? <artifactId>spring-boot-starter-security</artifactId>

          ? ? ? ??

          ? ? </dependency>

          ? ??

          ? ? 需要引入的,需要添加下面的配置

          ? ? token:

          ? ? ? # 是否校驗token時效性,默認為true

          ? ? ? enable: true

          ? ? ? # 是否校驗token,默認為true

          ? ? ? checkToken: true

          ? ? ? # 是否校驗登錄,默認true

          ? ? ? checkLogin: true

          ? ? ? # 是否校驗菜單權(quán)限,默認為true

          ? ? ? checkPermission: false;

          ? ? ? # 過期時間(分鐘)

          ? ? ? time: 30

          ? ? ? # Token 存入緩存的key 后綴

          ? ? ? oldSuffix: aaa-TOKEN

          ? ? ? # 刷新Token 存入緩存的key 后綴

          ? ? ? refSuffix: aaa-REF-TOKEN

          ? ? ? # Token 編碼秘鑰

          ? ? ? signKey: 123456783909823

          ? ? permission:

          ? ? ? # 保存權(quán)限到redis的key后綴,key值為用戶登錄名userName + "-" + suffix

          ? ? ? suffix: aaa-PERMISSION

          ? ? login:

          ? ? ? # 登錄地址

          ? ? ? url: /aaa/login

          ? ? loginOut:

          ? ? ? url: /aaa/loginout

          ? ? filterInformation: /ws/**,/swagger-ui.html,/webjars/springfox-swagger-ui/**,/swagger-resources/**,/v2/api-docs/**,/manage/permission/range,favicon.ico,/doc.html,/webjars/**,/swagger-resources/**,/v2/api-docs/**,/configuration/security,/aa/captcha,/user/register

          ? ??

          ? ? 將resources/security中的UserDetailsServiceImpl復(fù)制到自己的service中,調(diào)整具體的實現(xiàn)邏輯

          ? ??

          ?# version

          ?2.0 : 調(diào)整User實體類,增加公司ID、用戶UUID、去掉了公交公司ID

          ?3.0 : 調(diào)整生成token時,增加了companyId和UUID,通過token獲取companyId

          ?4.0 : SpringSectury調(diào)整為2.7版本以上后,TokenWebSecurityConfig設(shè)置為過期,使用新的TwoWebSecurityConfig





          瀏覽 74
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  五月丁香色色激情综合 | 亚洲肏屄网 | 日本特黄在线 | 欧美综合区 | 波多野结衣成人在线 |