不要使用 WebLogic ServletAuthentication invalidateAll 方法

此規則會標示使用的 weblogic.servlet.security.ServletAuthentication invalidateAll 方法。 該方法實作必須移轉,才能在 WebSphere Application Server 上使用。


解決方案

使用下列程式碼來取代 WebLogic invalidateAll 方法。

public static void invalidateAllWebAppSessions(HttpServletRequest req)) {
try {

com.ibm.wsspi.servlet.session.IBMSessionExt sessExt = (IBMSessionExt) req.getSession();
sessExt.invalidateAll(true);

} catch(IllegalStateException e) {
// This exception is thrown if another thread is invalidating this session, so just ignore it.
}
}

如需相關資訊,請參閱 com.ibm.wsspi.servlet.session.IBMSessionExt 介面 Java 文件。