@ -87,10 +89,10 @@ public class DefaultMethodSecurityExpressionHandler extends
@@ -87,10 +89,10 @@ public class DefaultMethodSecurityExpressionHandler extends
@ -173,6 +175,32 @@ public class DefaultMethodSecurityExpressionHandler extends
@@ -173,6 +175,32 @@ public class DefaultMethodSecurityExpressionHandler extends
returnfiltered;
}
if(filterTargetinstanceofMap){
finalMap<?,?>map=(Map<?,?>)filterTarget;
finalMapretainMap=newLinkedHashMap(map.size());
if(debug){
logger.debug("Filtering map with "+map.size()+" elements");
@ -184,7 +212,7 @@ public class DefaultMethodSecurityExpressionHandler extends
@@ -184,7 +212,7 @@ public class DefaultMethodSecurityExpressionHandler extends
}
thrownewIllegalArgumentException(
"Filter target must be a collection, array, or stream type, but was "
"Filter target must be a collection, array, map or stream type, but was "
@ -78,6 +80,72 @@ public class DefaultMethodSecurityExpressionHandlerTests {
@@ -78,6 +80,72 @@ public class DefaultMethodSecurityExpressionHandlerTests {