最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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)目需求,列表頁會(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中央倉庫:[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)行脫敏。

示例

代碼略長,大致如下:方法返回Page,Page中的Records為List,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全面細(xì)致講解final的使用

    Java全面細(xì)致講解final的使用

    關(guān)于final關(guān)鍵字,它也是我們一個(gè)經(jīng)常用的關(guān)鍵字,可以修飾在類上、或者修飾在變量、方法上,以此看來定義它的一些不可變性!像我們經(jīng)常使用的String類中,它便是final來修飾的類,并且它的字符數(shù)組也是被final所修飾的。但是一些final的一些細(xì)節(jié)你真的了解過嗎
    2022-05-05
  • docusaurus如何添加一個(gè)搜索功能

    docusaurus如何添加一個(gè)搜索功能

    這篇文章主要介紹了docusaurus如何添加一個(gè)搜索功能,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • IDEA使用Git對(duì)分支進(jìn)行開發(fā)合并的全過程

    IDEA使用Git對(duì)分支進(jìn)行開發(fā)合并的全過程

    本文介紹了在IDEA中使用Git進(jìn)行分支開發(fā)和合并的具體操作步驟,并分享了全局用戶名和郵箱的配置命令,幫助開發(fā)者規(guī)范高效地管理項(xiàng)目分支,需要的朋友可以參考下
    2025-10-10
  • Spring零基礎(chǔ)入門WebFlux響應(yīng)式編程

    Spring零基礎(chǔ)入門WebFlux響應(yīng)式編程

    Spring 提供了兩個(gè)并行堆棧,一種是基于帶有 Spring MVC 和 Spring Data 結(jié)構(gòu)的 Servlet API,另一個(gè)是完全反應(yīng)式堆棧,它利用了 Spring WebFlux 和 Spring Data 的反應(yīng)式存儲(chǔ)庫,這篇文章主要介紹了Spring-webflux 響應(yīng)式編程,需要的朋友可以參考下
    2022-10-10
  • 基于Java的正則表達(dá)式

    基于Java的正則表達(dá)式

    正則表達(dá)式,又稱正規(guī)表示法、常規(guī)表示法(英語:Regular Expression,在代碼中常簡(jiǎn)寫為regex、regexp或RE),計(jì)算機(jī)科學(xué)的一個(gè)概念
    2017-05-05
  • @ConfigurationProperties及@NestedConfigurationProperty的使用解讀

    @ConfigurationProperties及@NestedConfigurationProperty的使用解讀

    本文分享了如何在Spring Boot應(yīng)用中使用`@ConfigurationProperties`和`@NestedConfigurationProperty`進(jìn)行屬性綁定,提供了一個(gè)自定義配置的示例,并附帶個(gè)人經(jīng)驗(yàn)供參考
    2026-02-02
  • Mybatis解決找不到get方法

    Mybatis解決找不到get方法

    這篇文章主要介紹了Mybatis解決找不到get方法問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Spring復(fù)雜對(duì)象創(chuàng)建的方式小結(jié)

    Spring復(fù)雜對(duì)象創(chuàng)建的方式小結(jié)

    這篇文章主要介紹了Spring復(fù)雜對(duì)象創(chuàng)建的三種方式,現(xiàn)在使用Spring如何創(chuàng)建這種類型的對(duì)象?Spring中提供了三種方法來創(chuàng)建復(fù)雜對(duì)象,需要的朋友可以參考下
    2022-01-01
  • SpringBoot實(shí)現(xiàn)接口防刷的兩種方法

    SpringBoot實(shí)現(xiàn)接口防刷的兩種方法

    接口被刷指的是同一接口被頻繁調(diào)用,可能是由于以下原因?qū)е拢簮阂夤艉驼`操作或程序錯(cuò)誤,本文給大家介紹了SpringBoot實(shí)現(xiàn)接口防刷的兩種方法,并有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2024-06-06
  • Spring事務(wù)控制策略及@Transactional失效問題解決避坑

    Spring事務(wù)控制策略及@Transactional失效問題解決避坑

    這篇文章主要為大家介紹了Spring事務(wù)控制策略及@Transactional失效問題解決避坑,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06

最新評(píng)論

和政县| 游戏| 乌兰县| 广丰县| 普兰县| 宁蒗| 阳春市| 齐齐哈尔市| 当涂县| 延川县| 庄河市| 上饶市| 南宁市| 古浪县| 介休市| 永丰县| 黄陵县| 库尔勒市| 沂水县| 中西区| 无极县| 永新县| 肇庆市| 梓潼县| 奇台县| 巴里| 石景山区| 错那县| 德昌县| 德阳市| 兴仁县| 阆中市| 郁南县| 焦作市| 望江县| 铁岭市| 陵水| 渭南市| 永城市| 鸡东县| 高邮市|