mirror of
https://github.com/apache/struts.git
synced 2026-08-07 07:37:20 +00:00
Revert some changes to be more consistent with 2.6 version
This commit is contained in:
@@ -104,7 +104,7 @@ public class SecurityMemberAccess extends DefaultMemberAccess {
|
||||
}
|
||||
|
||||
boolean allow = true;
|
||||
if (!checkStaticMemberAccess(member)) {
|
||||
if (!checkStaticMethodAccess(member)) {
|
||||
LOG.warn("Access to static [{}] is blocked!", member);
|
||||
allow = false;
|
||||
}
|
||||
@@ -118,38 +118,10 @@ public class SecurityMemberAccess extends DefaultMemberAccess {
|
||||
return super.isAccessible(context, target, member, propertyName) && isAcceptableProperty(propertyName);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retain backwards-compatibility for any implementations extending this class prior to 2.5.21.
|
||||
*
|
||||
* Deprecated as of 2.5.21.
|
||||
*
|
||||
* @param member
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Deprecated
|
||||
protected boolean checkStaticMethodAccess(Member member) {
|
||||
return checkStaticMemberAccess(member);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check access for static members
|
||||
*
|
||||
* Static non-field access result is a logical and of allowStaticMethodAccess and public.
|
||||
* Static field access result is true if-and-only-if the field is public.
|
||||
*
|
||||
* @param member
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
protected boolean checkStaticMemberAccess(Member member) {
|
||||
final int modifiers = member.getModifiers();
|
||||
int modifiers = member.getModifiers();
|
||||
if (Modifier.isStatic(modifiers)) {
|
||||
if (member instanceof Field) {
|
||||
return Modifier.isPublic(modifiers);
|
||||
} else {
|
||||
return allowStaticMethodAccess && Modifier.isPublic(modifiers);
|
||||
}
|
||||
return allowStaticMethodAccess;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user