From 525e979b4f2b0920e4c78b0f4043fa75c20b2b1a Mon Sep 17 00:00:00 2001 From: govi20 Date: Sat, 15 Aug 2020 23:29:05 +0530 Subject: [PATCH] #8868 SecurityWebApplicationContextUtils should use WebApplicationContextUtils --- .../taglibs/authz/AccessControlListTag.java | 3 +- .../SecurityWebApplicationContextUtils.java | 29 +------------------ .../session/HttpSessionEventPublisher.java | 2 ++ 3 files changed, 5 insertions(+), 29 deletions(-) diff --git a/taglibs/src/main/java/org/springframework/security/taglibs/authz/AccessControlListTag.java b/taglibs/src/main/java/org/springframework/security/taglibs/authz/AccessControlListTag.java index 0d1c6149e3d..efad919da34 100644 --- a/taglibs/src/main/java/org/springframework/security/taglibs/authz/AccessControlListTag.java +++ b/taglibs/src/main/java/org/springframework/security/taglibs/authz/AccessControlListTag.java @@ -69,7 +69,7 @@ public class AccessControlListTag extends TagSupport { // ~ Methods // ======================================================================================================== - + @Override public int doStartTag() throws JspException { if ((null == hasPermission) || "".equals(hasPermission)) { return skipBody(); @@ -116,6 +116,7 @@ private List parseHasPermission(String hasPermission) { parsedPermission = Integer.parseInt(permissionToParse); } catch (NumberFormatException notBitMask) { + logger.error("Failed to parse permissions.", notBitMask); } parsedPermissions.add(parsedPermission); } diff --git a/web/src/main/java/org/springframework/security/web/context/support/SecurityWebApplicationContextUtils.java b/web/src/main/java/org/springframework/security/web/context/support/SecurityWebApplicationContextUtils.java index c5bcc91d81d..aeb218664b0 100644 --- a/web/src/main/java/org/springframework/security/web/context/support/SecurityWebApplicationContextUtils.java +++ b/web/src/main/java/org/springframework/security/web/context/support/SecurityWebApplicationContextUtils.java @@ -44,33 +44,6 @@ public abstract class SecurityWebApplicationContextUtils extends WebApplicationC * @throws IllegalStateException if no WebApplicationContext can be found */ public static WebApplicationContext findRequiredWebApplicationContext(ServletContext servletContext) { - WebApplicationContext wac = _findWebApplicationContext(servletContext); - if (wac == null) { - throw new IllegalStateException("No WebApplicationContext found: no ContextLoaderListener registered?"); - } - return wac; - } - - /** - * Copy of {@link #findWebApplicationContext(ServletContext)} for compatibility with spring framework 4.1.x. - * @see #findWebApplicationContext(ServletContext) - */ - private static WebApplicationContext _findWebApplicationContext(ServletContext sc) { - WebApplicationContext wac = getWebApplicationContext(sc); - if (wac == null) { - Enumeration attrNames = sc.getAttributeNames(); - while (attrNames.hasMoreElements()) { - String attrName = attrNames.nextElement(); - Object attrValue = sc.getAttribute(attrName); - if (attrValue instanceof WebApplicationContext) { - if (wac != null) { - throw new IllegalStateException("No unique WebApplicationContext found: more than one " + - "DispatcherServlet registered with publishContext=true?"); - } - wac = (WebApplicationContext) attrValue; - } - } - } - return wac; + return WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext); } } diff --git a/web/src/main/java/org/springframework/security/web/session/HttpSessionEventPublisher.java b/web/src/main/java/org/springframework/security/web/session/HttpSessionEventPublisher.java index d45ad2acdfd..2d62fd81f56 100644 --- a/web/src/main/java/org/springframework/security/web/session/HttpSessionEventPublisher.java +++ b/web/src/main/java/org/springframework/security/web/session/HttpSessionEventPublisher.java @@ -63,6 +63,7 @@ ApplicationContext getContext(ServletContext servletContext) { * * @param event HttpSessionEvent passed in by the container */ + @Override public void sessionCreated(HttpSessionEvent event) { HttpSessionCreatedEvent e = new HttpSessionCreatedEvent(event.getSession()); Log log = LogFactory.getLog(LOGGER_NAME); @@ -80,6 +81,7 @@ public void sessionCreated(HttpSessionEvent event) { * * @param event The HttpSessionEvent pass in by the container */ + @Override public void sessionDestroyed(HttpSessionEvent event) { HttpSessionDestroyedEvent e = new HttpSessionDestroyedEvent(event.getSession()); Log log = LogFactory.getLog(LOGGER_NAME);