欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot脫敏控件升級(jí)支持深度脫敏

 更新時(shí)間:2023年07月09日 10:56:12   作者:小塵哥  
這篇文章主要為大家介紹了springboot脫敏控件升級(jí)支持深度脫敏,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

正文

secure-ext-spring-boot-starter自發(fā)布以來受到廣大童鞋的關(guān)注,也收到各位同行朋友好的建議與需求,主要是常規(guī)情況下我們可能根據(jù)各自項(xiàng)目需求,列表頁(yè)會(huì)返回Page對(duì)象,Page中包含records(List類型),records又包含實(shí)際的Entity,因此大多數(shù)情況下返回的會(huì)是復(fù)雜對(duì)象。

因此經(jīng)過幾天的優(yōu)化調(diào)整,重新發(fā)布升級(jí)版,本次主要升級(jí)內(nèi)容:

1. 支持自動(dòng)化配置;

2. 支持深度脫敏,支持復(fù)雜對(duì)象,嵌套對(duì)象,對(duì)象內(nèi)多層級(jí)嵌套,自動(dòng)尋找返回值中嵌套對(duì)象包含的需脫敏的屬性;

最新版本

最新發(fā)布版已更新到mave中央倉(cāng)庫(kù):[Maven Central][1.0.3-release]

主要配置

 sensitive:
   enable: true
   depth: false
   packages: com.mos.secure

說明:

屬性默認(rèn)值取值范圍說明
enabletruetrue/false是否啟用脫敏,全局生效,默認(rèn)開啟
depthfalsetrue/false是否啟用深度脫敏,為了性能考慮,默認(rèn)關(guān)閉
packages字符串包路徑,多個(gè)以英文逗號(hào)分隔

深度脫敏規(guī)則:

depth為true,且packages不為空,當(dāng)方法返回值嵌套的屬性包含在packages下,則自動(dòng)進(jìn)行脫敏。

示例

代碼略長(zhǎng),大致如下:方法返回Page,Page中的Records為L(zhǎng)ist,List中存放實(shí)體類SensitiveEntity,SensitiveEntity又包含List<SensitiveSubEntity> SubEntities,SensitiveSubEntity中又包含了SensitiveGrandSonEntity,基本可以滿足我們大多數(shù)場(chǎng)景。

     @Desensitization
     public Page page() {
         Page page = new Page();
         page.setCurrent(1);
         page.setSize(10);
         List<SensitiveEntity> list = new ArrayList<SensitiveEntity>();
         for (int i = 0; i < 5; i++) {
             SensitiveEntity sensitiveEntity = createEntity("1" + i, "櫻木花道" + i, "15699996666" + i, "10101020000101000" + i);
             list.add(sensitiveEntity);
         }
         page.setRecords(list);
         return page;
     }
     private static SensitiveEntity createEntity(String i, String i1, String i2, String i3) {
         SensitiveEntity sensitiveEntity = new SensitiveEntity();
         sensitiveEntity.setId(i);
         sensitiveEntity.setName(i1);
         sensitiveEntity.setMobile(i2);
         sensitiveEntity.setIdCard(i3);
         List<SensitiveSubEntity> subEntities = new ArrayList<SensitiveSubEntity>();
         for (int j=0;j<3;j++){
             SensitiveSubEntity sensitiveSubEntity = new SensitiveSubEntity();
             sensitiveSubEntity.setAddress("addr--->"+j);
             SensitiveGrandSonEntity grandSonEntity = new SensitiveGrandSonEntity();
             grandSonEntity.setEmail("grq100296@163.com");
             sensitiveSubEntity.setSensitiveGrandSonEntity(grandSonEntity);
             subEntities.add(sensitiveSubEntity);
         }
         sensitiveEntity.setSubEntities(subEntities);
         return sensitiveEntity;
     }

SensitiveEntity

 @Data
 public class SensitiveEntity {
     private String id;
     @DesensitizationProp(value = SensitiveTypeEnum.CUSTOM,preLength = 1,sufLength = 5)
     private String name;
     @DesensitizationProp(SensitiveTypeEnum.MOBILE_PHONE)
     private String mobile;
     @DesensitizationProp(SensitiveTypeEnum.ID_CARD)
     private String idCard;
     private List<SensitiveSubEntity> subEntities;
 }

SensitiveSubEntity

 @Data
 public class SensitiveSubEntity {
     @DesensitizationProp(SensitiveTypeEnum.ADDRESS)
     private String address;
     private SensitiveGrandSonEntity sensitiveGrandSonEntity;
 }

SensitiveGrandSonEntity

 @Data
 public class SensitiveGrandSonEntity {
     @DesensitizationProp(value = SensitiveTypeEnum.EMAIL)
     private String email;
 }

示例代碼

以上就是springboot脫敏控件升級(jí)支持深度脫敏的詳細(xì)內(nèi)容,更多關(guān)于springboot脫敏控件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java使用DFA算法實(shí)現(xiàn)過濾多家公司自定義敏感字功能詳解

    Java使用DFA算法實(shí)現(xiàn)過濾多家公司自定義敏感字功能詳解

    這篇文章主要介紹了Java使用DFA算法實(shí)現(xiàn)過濾多家公司自定義敏感字功能,結(jié)合實(shí)例形式分析了DFA算法的實(shí)現(xiàn)原理及過濾敏感字的相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • Java中的運(yùn)算符你知道多少

    Java中的運(yùn)算符你知道多少

    這篇文章主要為大家詳細(xì)介紹了Java中的運(yùn)算符,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • JAVA中使用MD5加密實(shí)現(xiàn)密碼加密

    JAVA中使用MD5加密實(shí)現(xiàn)密碼加密

    本篇文章主要介紹JAVA中使用MD5加密實(shí)現(xiàn)密碼加密,很多地方都要存儲(chǔ)用戶密碼,這里整理了詳細(xì)的代碼,有需要的小伙伴可以參考下
    2017-07-07
  • JetBrains?產(chǎn)品輸入激活碼?Key?is?invalid?完美解決方案

    JetBrains?產(chǎn)品輸入激活碼?Key?is?invalid?完美解決方案

    JetBrains?系列產(chǎn)品(IDEA、Pycharm?等)使用本站破解教程?(opens?new?window),在輸入激活碼時(shí),部分小伙伴反應(yīng)說提示?Key?is?invalid?無法激活,今天小編給大家分享完美解決方案,感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • Mybatis緩存機(jī)制詳解與實(shí)例分析

    Mybatis緩存機(jī)制詳解與實(shí)例分析

    Mybatis的緩存分為一級(jí)緩存和二級(jí)緩存,一級(jí)緩存是SqlSession級(jí)別的而二級(jí)緩存是mapper級(jí)別的,本文詳細(xì)的介紹了Mybatis緩存機(jī)制與實(shí)例分析,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2023-11-11
  • 解決jpa查詢語句自動(dòng)變成了update的問題

    解決jpa查詢語句自動(dòng)變成了update的問題

    這篇文章主要介紹了解決jpa查詢語句自動(dòng)變成了update的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Springboot簡(jiǎn)單熱部署實(shí)現(xiàn)步驟解析

    Springboot簡(jiǎn)單熱部署實(shí)現(xiàn)步驟解析

    這篇文章主要介紹了Springboot簡(jiǎn)單熱部署實(shí)現(xiàn)步驟解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 使用hibernate和struts2實(shí)現(xiàn)分頁(yè)功能的示例

    使用hibernate和struts2實(shí)現(xiàn)分頁(yè)功能的示例

    本篇文章主要介紹了使用hibernate和struts2實(shí)現(xiàn)分頁(yè)功能,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • 解決websocket 報(bào) Could not decode a text frame as UTF-8錯(cuò)誤

    解決websocket 報(bào) Could not decode a text frame as UTF-8錯(cuò)誤

    這篇文章主要介紹了解決websocket 報(bào) Could not decode a text frame as UTF-8錯(cuò)誤,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • java中Date類和Strng類的靈活轉(zhuǎn)化

    java中Date類和Strng類的靈活轉(zhuǎn)化

    這篇文章主要介紹了java中Date類和Strng類的靈活轉(zhuǎn)化,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評(píng)論