Jackson @JsonIgnore Felder basierend auf den Sicherheitsrollen der Feder

In meiner gesamten Spring REST-Webanwendung sind viele Domänenobjekte und DTOs vorhanden.

Ich muss einige Domänenobjekt- oder DTO-Felder basierend auf den Sicherheitsfunktionen des Benutzers filtern, der die Anforderung stellt. Ich möchte, dass Jackson die Ausgabe-JSON filtert, um die Serialisierung bestimmter Klassenfelder basierend auf den Spring GrantedAuthorities-Rollen des Benutzers, der versucht, auf die Ressource zuzugreifen, zuzulassen bzw. zu verbieten.

Ich kann kein neues DTO für jede andere Ansichtskombination erstellen, da dies ein Durcheinander wäre.

Ich habe diese Lösung gefunden:
Spring 3.2: Filtern der Jackson JSON-Ausgabe basierend auf der Spring Security-Rolle
Aber es funktioniert nicht, der Filter wird nur einmal angewendet, wenn sich der erste Benutzer anmeldet. Dann erhalten alle anderen Benutzer die gleiche Filterung, unabhängig von ihrer Rolle.

Ich kann mein Problem in diesem Blog-Beitrag nicht besser erklären als Ray Holland:
http: //jackson-users.ning.com/forum/topics/jackson-custom-serializatio
Dies ist genau das gleiche Problem, das ich seit ein paar Tagen zu lösen versuche.

Ich konnte bisher keinen sauberen Weg finden, das zu tun.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage