Unikaj używania nieaktualnych metod WSSecurityHelper revokeSSOCookies i getLTPACookieFromSSOToken

Ta reguła powoduje oznaczenie następujących nieaktualnych metod z com.ibm.websphere.security.WSSecurityHelper Klasa:

Te metody są nieaktualne w tradycyjnym serwerze WebSphere Application Server w wersji 8.5 i mogą zostać usunięte w przyszłej wersji. Nie są one dostępne na serwerze Liberty.

Funkcjonalność zapewniana przez WSSecurityHelper.revokeSSOCookies(HttpServletRequest req, HttpServletResponse res) jest zastępowany przez specyfikację Java Servlet-3.0 logout() . Java Servlet-3.0 logout() metoda wykona wszystkie prace, które WSSecurityHelper.revokeSSOCookies(HttpServletRequest req, HttpServletResponse res) wykonuje oraz wykonuje dodatkowe operacje czyszczenia stanu, takie jak unieważnianie sesji i czyszczenie zabezpieczeń Subject z wątku.

W skanerze binarnym zautomatyzowana poprawka zastępuje wywołania revokeSSOCookies(HttpServletRequest req, HttpServletResponse res) z wywołaniami do logout() . Na przykład następujący kod:

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

zostanie zastąpiony poniższym kodem:

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

Funkcjonalność zapewniana przez WSSecurityHelper.getLTPACookieFromSSOToken() jest zastępowany przez nową metodę com.ibm.websphere.security.web.WebSecurityHelper.getSSOCookieFromSSOToken(). Należy zauważyć, że ta nowa metoda znajduje się w klasie com.ibm.websphere.security.web.WebSecurityHelper, nie com.ibm.websphere.security.WSSecurityHelper. Ta metoda wyodrębnia znacznik pojedynczego logowania z podmiotu bieżącego wątku i na jego podstawie buduje informację cookie do użycia w kolejnych wywołaniach WWW.

W skanerze binarnym zautomatyzowana poprawka zastępuje wywołania WSSecurityHelper.getLTPACookieFromSSOToken() z wywołaniami do WebSecurityHelper.getSSOCookieFromSSOToken() . Instrukcja importu dla com.ibm.websphere.security.web.WebSecurityHelper jest w razie potrzeby dodawany. Na przykład następujący kod:

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

zostanie zastąpiony poniższym kodem:

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

Nowe metody powinny być zgodne zarówno na serwerze WebSphere Application Server traditional, jak i na serwerze Liberty. Należy również zauważyć, że logout() oraz getSSOCookieFromSSOToken() aplikacja wymaga serwera WebSphere Application Server V8.0 lub nowszej.

Ta reguła ma zautomatyzowaną poprawkę. Skopiuj konfigurację niestandardową do pliku budowania aplikacji, aby ją włączyć.

Informacje dodatkowe: