2016-04-01 19 views
1

Wir haben CSRF-Problem in unserer Webanwendung mit mehreren Formularen in der Anwendung gemeldet. Unsere Anwendung läuft auf Front-End (AEM), und wir haben SSO-Layer für Single-Sign-in mit SAML und wir haben auch separate Datenbank-Ebene, die sie alle Daten über Web-Services und AEM Verbraucher für die Anzeige und Aktualisierung der Daten verfügbar machen Daten. Wenn wir CSRF-Token in AEM auf allen Ajax-Anfragen wie unten implementieren müssen, Wie muss dies auf DB-Ebene gehandhabt werden. Woher bekommen wir das CSRF-Token von welcher Schicht?So verhindern Sie CSRF in AEM-Webanwendung

jQuery.ajaxPrefilter(function(options, _, xhr) { 
if (!xhr.crossDomain) 
xhr.setRequestHeader(CSRF_HEADER, securityToken); 
}); 
+0

Es ist schwierig, dies als Antwort zu posten, da die Dokumentation sehr mangelhaft ist, aber dies könnte ein guter Ausgangspunkt für Untersuchungen sein: [CSRF Protection Framework] (https://docs.adobe.com/docs/en/aem /6-1/develop/security/csrf-protection.html) – anotherdave

+0

Verwenden Sie die buildin jquery-Bibliothek oder haben Sie eine andere Version mit Ihrem Code gepackt? – Thomas

+0

Hallo Thomas, wir sind nicht sicher, wie man dies auf AEM implementiert. Wir verwenden hier keine Jquery-Bibliothek, da wir noch implementieren müssen –

Antwort

1

Ich werde Ihre Anwendungsarchitektur als diese annehmen.
AEM Web App ---> Webservice Hosting App ---> DB.

Darüber hinaus gibt es einen IDP für SAML-basierte Authentifizierung. Wenn Sie die SSO-Authentifizierung veröffentlichen, erfolgt die Interaktion des Benutzers mit der AEM-Webanwendung.

Vorausgesetzt, das oben genannte, werde ich sagen, das ist eine regelmäßige AEM-Website. Sie können OOTB AEM CSRF-Schutz verwenden, dokumentiert here.

Verwandte Themen