Ein SpringBoot-Projekt wird derzeit entwickelt. Dieses Projekt verfügt über einen Web-Client und ein WeChat-Applet. Das Webterminal steht den Mitarbeitern zur Nutzung zur Verfügung und das WeChat-Applet steht der Öffentlichkeit für Reservierungen zur Verfügung. Einige sensible Daten im Projekt müssen desensibilisiert und zur öffentlichen Ansicht an das WeChat-Applet übergeben werden.
Da es im Projekt zwei Benutzer gibt, sind die Datenberechtigungen für die beiden Enden unterschiedlich. Alle Daten können auf der Webseite angezeigt werden, während im Miniprogramm nur desensibilisierte Daten angezeigt werden können.
Es muss eine universelle Desensibilisierungsfunktion
entwickelt werden 通用脱敏功能
手动进行脱敏操作
支持多种对象,
支持不同字段,并脱敏指定字段
字段的脱敏方式多样
字段的脱敏方式可自定义
使用注解方式
Manueller Desensibilisierungsvorgang
Unterstützt eine Vielzahl von Objekten,
Unterstützt verschiedene Felder und desensibilisiert bestimmte Felder
Es gibt verschiedene Möglichkeiten, Felder zu desensibilisieren
Die Felddesensibilisierungsmethode kann angepasst werden
Anmerkungsmethode
, um die Angabe von Feldern, verschiedenen Feldern und mehreren Desensibilisierungsvorgängen zu unterstützen und kann vom Objekt getrennt werden. import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * 自定义数据脱敏 * * 例如: 身份证,手机号等信息进行模糊处理 * * @author lzddddd */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface Sensitive { /** * 脱敏数据类型 */ SensitiveType type() default SensitiveType.CUSTOMER; /** * 前置不需要打码的长度 */ int prefixNoMaskLen() default 0; /** * 后置不需要打码的长度 */ int suffixNoMaskLen() default 0; /** * 用什么打码 */ String symbol() default "*"; }
public enum SensitiveType { /** * 自定义 */ CUSTOMER, /** * 名称 **/ CHINESE_NAME, /** * 身份证证件号 **/ ID_CARD_NUM, /** * 手机号 **/ MOBILE_PHONE, /** * 固定电话 */ FIXED_PHONE, /** * 密码 **/ PASSWORD, /** * 银行卡号 */ BANKCARD, /** * 邮箱 */ EMAIL, /** * 地址 */ ADDRESS, }
Das obige ist der detaillierte Inhalt vonSo fügen Sie eine Desensibilisierungsfunktion in SpringBoot hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!