Evitare di utilizzare i metodi WSSecurityHelper revokeSSOCookies e getLTPACookieFromSSOToken obsoleti

Questa regola contrassegna i seguenti metodi obsoleti dal com.ibm.websphere.security.WSSecurityHelper Classe:

Questi metodi sono obsoleti in WebSphere Application Server Versione 8.5 tradizionale e potrebbero essere rimossi in una release futura. Non sono disponibili in Liberty.

La funzionalità fornita da WSSecurityHelper.revokeSSOCookies(HttpServletRequest req, HttpServletResponse res) viene sostituito dalla specifica Java Servlet-3.0 logout() metodo. Java Servlet-3.0 logout() eseguirà tutto il lavoro che WSSecurityHelper.revokeSSOCookies(HttpServletRequest req, HttpServletResponse res) esegue e ripulisce lo stato, ad esempio invalidando la sessione e cancellando la sicurezza Subject dal thread.

Nello scanner binario, la correzione automatica sostituisce le chiamate a revokeSSOCookies(HttpServletRequest req, HttpServletResponse res) con chiamate al logout() metodo. Ad esempio, il seguente codice

import javax.servlet.http.HttpServletRequest;
...
WSSecurityHelper.revokeSSOCookies(req, res);

viene sostituito da

import javax.servlet.http.HttpServletRequest;
...
req.logout();

La funzionalità fornita da WSSecurityHelper.getLTPACookieFromSSOToken() viene sostituito dal nuovo metodo com.ibm.websphere.security.web.WebSecurityHelper.getSSOCookieFromSSOToken(). Notare che questo nuovo metodo si trova nella classe com.ibm.websphere.security.web.WebSecurityHelper, Non com.ibm.websphere.security.WSSecurityHelper. Questo metodo estrae il token SSO dall'oggetto del thread corrente e crea un cookie SSO al suo esterno da utilizzare per i richiami Web downstream.

Nello scanner binario, la correzione automatica sostituisce le chiamate a WSSecurityHelper.getLTPACookieFromSSOToken() con chiamate al WebSecurityHelper.getSSOCookieFromSSOToken() metodo. Un'istruzione import per com.ibm.websphere.security.web.WebSecurityHelper viene aggiunto se necessario. Ad esempio, il seguente codice

import javax.servlet.http.Cookie;
import com.ibm.websphere.security.WSSecurityHelper;
...
Cookie ltpaCookie = WSSecurityHelper.getLTPACookieFromSSOToken();

viene sostituito da

import javax.servlet.http.Cookie;
import com.ibm.websphere.security.WSSecurityHelper;
import com.ibm.websphere.security.web.WebSecurityHelper;
...
Cookie ltpaCookie = WebSecurityHelper.getSSOCookieFromSSOToken();

Utilizzare i nuovi metodi per essere compatibili su WebSphere Application Server tradizionale e Liberty. Si noti inoltre che con il logout() e getSSOCookieFromSSOToken() in uso, l'applicazione richiede WebSphere Application Server V8.0 o successive.

Questa regola ha una correzione automatica. Copiare la configurazione personalizzata nel proprio file di build dell'applicazione per abilitarlo.

Per ulteriori informazioni, consultare