Antwort 403 bei gleichzeitiger Ajax-Anfrage mit Jakarta EE und Glassfish Server verbotenJava

Java-Forum
Anonymous
 Antwort 403 bei gleichzeitiger Ajax-Anfrage mit Jakarta EE und Glassfish Server verboten

Post by Anonymous »

Ich habe eine auf Jakarta basierende Web-App, die in Glassfish 7.0.16 bereitgestellt wird. Derzeit implementiere ich Jakarta Security mit der Benutzerrolle von DB. Das funktioniert einwandfrei, bis die Clientseite mehrere Ajax-Anfragen gleichzeitig ausführt und ab der 2. oder 3. Ajax-Anfrage mit 403 verboten reagiert. Tatsächlich kommt es manchmal etwa 3 von 10 Mal vor.
Ich habe versucht, die Sicherheitseinstellungen als in web.xml, @ServletSecurity in der Servlet-Datei und @inject SecurityContext in die Servlet-Klasse
Ich habe @ServletSecurity in meiner Servlet-Klasse entfernt und einen Filter geschrieben, in den ich einfüge SecurityContext und prüft wie folgt:
public class AuthorizationFilter implements Filter {

@Inject
SecurityContext sc;

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {

HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;

if (req.isUserInRole("ROLE_A") || sc.isCallerInRole("ROLE_A")) {
doChain(request, response);
} else {
// log info about Principal and session attributes
}
}
}

Wie ich oben erwähnt habe, wenn die Clientseite 6 Ajax-Anfragen gleichzeitig stellt, antwortet eine davon 403 verboten. Überprüfen des generierten Protokolls in else-Fragment, alle Sitzungsattribute und Principal sind wie die anderen 5 Ajax-Anfragen vorhanden.
Irgendeine Idee davon, was passiert?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post