Package org.apache.struts2.ognl
Class SecurityMemberAccess
java.lang.Object
org.apache.struts2.ognl.SecurityMemberAccess
- All Implemented Interfaces:
ognl.MemberAccess
Allows access decisions to be made on the basis of whether a member is static or not.
Also blocks or allows access to properties.
-
Constructor Summary
ConstructorsConstructorDescriptionSecurityMemberAccess(ProviderAllowlist providerAllowlist, ThreadAllowlist threadAllowlist) -
Method Summary
Modifier and TypeMethodDescriptionprotected booleancheckAllowlist(Object target, Member member) protected booleancheckDefaultPackageAccess(Object target, Member member) protected booleancheckExclusionList(Object target, Member member) protected booleancheckProxyMemberAccess(Object target, Member member) protected booleancheckProxyObjectAccess(Object target) protected booleancheckPublicMemberAccess(Member member) Check access for public members (via modifiers)protected booleancheckStaticFieldAccess(Member member) Check access for static field (via modifiers).protected booleancheckStaticMethodAccess(Member member) Check access for static method (via modifiers).protected booleanisAcceptableProperty(String name) protected booleanisAccepted(String paramName) booleanisAccessible(Map context, Object target, Member member, String propertyName) protected booleanisClassAllowlisted(Class<?> clazz) static booleanisClassBelongsToPackages(Class<?> clazz, Set<String> matchingPackages) protected booleanisClassExcluded(Class<?> clazz) protected booleanisExcluded(String paramName) protected booleanisExcludedPackageNamePatterns(Class<?> clazz) protected booleanisExcludedPackageNames(Class<?> clazz) protected booleanisPackageExcluded(Class<?> clazz) voidstatic StringtoPackageName(Class<?> clazz) voiduseAcceptProperties(Set<Pattern> acceptedProperties) voiduseAllowlistClasses(String commaDelimitedClasses) voiduseAllowlistPackageNames(String commaDelimitedPackageNames) voiduseAllowStaticFieldAccess(String allowStaticFieldAccess) protected voiduseDevMode(String devMode) voiduseDevModeExcludedClasses(String commaDelimitedClasses) voiduseDevModeExcludedPackageExemptClasses(String commaDelimitedClasses) voiduseDevModeExcludedPackageNamePatterns(String commaDelimitedPackagePatterns) voiduseDevModeExcludedPackageNames(String commaDelimitedPackageNames) voiduseDisallowDefaultPackageAccess(String disallowDefaultPackageAccess) voiduseDisallowProxyMemberAccess(String disallowProxyMemberAccess) voiduseDisallowProxyObjectAccess(String disallowProxyObjectAccess) voiduseEnforceAllowlistEnabled(String enforceAllowlistEnabled) voiduseExcludedClasses(String commaDelimitedClasses) voiduseExcludedPackageExemptClasses(String commaDelimitedClasses) voiduseExcludedPackageNamePatterns(String commaDelimitedPackagePatterns) voiduseExcludedPackageNames(String commaDelimitedPackageNames) voiduseExcludeProperties(Set<Pattern> excludeProperties)
-
Constructor Details
-
SecurityMemberAccess
-
-
Method Details
-
setup
- Specified by:
setupin interfaceognl.MemberAccess
-
restore
- Specified by:
restorein interfaceognl.MemberAccess
-
isAccessible
- Specified by:
isAccessiblein interfaceognl.MemberAccess
-
checkAllowlist
- Returns:
trueif member access is allowed
-
isClassAllowlisted
-
checkExclusionList
- Returns:
trueif member access is allowed
-
checkDefaultPackageAccess
- Returns:
trueif member access is allowed
-
checkProxyObjectAccess
- Returns:
trueif proxy object access is allowed
-
checkProxyMemberAccess
- Returns:
trueif proxy member access is allowed
-
checkStaticMethodAccess
Check access for static method (via modifiers).Note: For non-static members, the result is always true.
- Returns:
trueif member access is allowed
-
checkStaticFieldAccess
Check access for static field (via modifiers).Note: For non-static members, the result is always true.
- Returns:
trueif member access is allowed
-
checkPublicMemberAccess
Check access for public members (via modifiers)- Returns:
trueif member access is allowed
-
isPackageExcluded
-
toPackageName
-
isExcludedPackageNamePatterns
-
isExcludedPackageNames
-
isClassBelongsToPackages
-
isClassExcluded
-
isAcceptableProperty
- Returns:
trueif member access is allowed
-
isAccepted
-
isExcluded
-
useExcludeProperties
-
useAcceptProperties
-
useAllowStaticFieldAccess
-
useExcludedClasses
-
useExcludedPackageNamePatterns
-
useExcludedPackageNames
-
useExcludedPackageExemptClasses
-
useEnforceAllowlistEnabled
-
useAllowlistClasses
-
useAllowlistPackageNames
-
useDisallowProxyObjectAccess
-
useDisallowProxyMemberAccess
-
useDisallowDefaultPackageAccess
-
useDevMode
-
useDevModeExcludedClasses
-
useDevModeExcludedPackageNamePatterns
-
useDevModeExcludedPackageNames
-
useDevModeExcludedPackageExemptClasses
-