From b213d58f54d3bc89b21726d441325202ef99628d Mon Sep 17 00:00:00 2001 From: Aleksandr Mashchenko Date: Fri, 31 Aug 2018 00:05:42 +0300 Subject: [PATCH 1/2] Better logging message (for WW-4954) --- .../com/opensymphony/xwork2/ognl/SecurityMemberAccess.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java b/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java index 9a04eacce..ce316f6ab 100644 --- a/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java +++ b/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java @@ -98,7 +98,8 @@ public class SecurityMemberAccess implements MemberAccess { } if (isPackageExcluded(targetClass.getPackage(), memberClass.getPackage())) { - LOG.warn("Package of target [{}] or package of member [{}] are excluded!", target, member); + LOG.warn("Package [{}] of target class [{}] of target [{}] or package [{}] of member [{}] are excluded!", targetClass.getPackage(), targetClass, + target, memberClass.getPackage(), member); return false; } From be1a93b0d5be48bf64927bf8c9e272d401686d7f Mon Sep 17 00:00:00 2001 From: Aleksandr Mashchenko Date: Fri, 31 Aug 2018 22:25:05 +0300 Subject: [PATCH 2/2] Improve log messages in SecurityMemberAccess --- .../xwork2/ognl/SecurityMemberAccess.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java b/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java index ce316f6ab..2002669f2 100644 --- a/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java +++ b/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java @@ -81,17 +81,18 @@ public class SecurityMemberAccess implements MemberAccess { @Override public boolean isAccessible(Map context, Object target, Member member, String propertyName) { LOG.debug("Checking access for [target: {}, member: {}, property: {}]", target, member, propertyName); - + + Class targetClass = target.getClass(); + Class memberClass = member.getDeclaringClass(); + if (checkEnumAccess(target, member)) { - LOG.trace("Allowing access to enum: {}", target); + LOG.trace("Allowing access to enum: target class [{}] of target [{}], member [{}]", targetClass, target, member); return true; } - Class targetClass = target.getClass(); - Class memberClass = member.getDeclaringClass(); - if (Modifier.isStatic(member.getModifiers()) && allowStaticMethodAccess) { - LOG.debug("Support for accessing static methods [target: {}, member: {}, property: {}] is deprecated!", target, member, propertyName); + LOG.debug("Support for accessing static methods [target: {}, targetClass: {}, member: {}, property: {}] is deprecated!", + target, targetClass, member, propertyName); if (!isClassExcluded(member.getDeclaringClass())) { targetClass = member.getDeclaringClass(); } @@ -104,7 +105,7 @@ public class SecurityMemberAccess implements MemberAccess { } if (isClassExcluded(targetClass)) { - LOG.warn("Target class [{}] is excluded!", target); + LOG.warn("Target class [{}] of target [{}] is excluded!", targetClass, target); return false; } @@ -114,7 +115,7 @@ public class SecurityMemberAccess implements MemberAccess { } if (disallowProxyMemberAccess && ProxyUtil.isProxyMember(member, target)) { - LOG.warn("Access to proxy [{}] is blocked!", member); + LOG.warn("Access to proxy is blocked! Target class [{}] of target [{}], member [{}]", targetClass, target, member); return false; }