JsonAbaikan Anotasi untuk Pensirian Terkawal dan Penyahserikatan
Apabila berurusan dengan data sensitif dalam objek pengguna, adalah penting untuk mengelakkan pendedahan mereka semasa bersiri. Anotasi @JsonIgnore berfungsi untuk tujuan ini, tetapi secara tidak sengaja boleh menyekat penyahserikatan.
Isu Penyahserikatan dengan @JsonIgnore
Dalam senario ini, anotasi @JsonIgnore pada sifat kata laluan menghalang sirinya kepada pelanggan. Walau bagaimanapun, ia juga menyekat harta daripada dinyahsiri dengan kata laluan yang betul, menjadikan pendaftaran mencabar.
Penyelesaian untuk Kejahilan Terpilih
Bergantung pada versi Jackson, dua pendekatan boleh digunakan:
Versi Jackson sebelum 1.9:
Jackson versi 1.9 dan di atas:
Kod Contoh:
Dalam Java:
@JsonIgnore(serialize = true, deserialize = false) private String password; @JsonProperty("password") private void setPassword(String password) { this.password = password; }
Pendekatan ini membenarkan @JsonIgnore digunakan hanya semasa penyirian, membenarkan kata laluan dinyahsiri dengan betul sambil melindunginya daripada pendedahan yang tidak diingini.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan @JsonIgnore untuk Mengawal Pensirilan Tanpa Menyekat Penyahserikatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!