You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shiro.apache.org by bd...@apache.org on 2016/06/29 22:06:15 UTC
[6/6] shiro git commit: SHIRO-564 lower-case wildcard string before
building subparts so that the subparts list is not created twice for
case-insensitive strings.
SHIRO-564 lower-case wildcard string before building subparts so that the subparts list is not created twice for case-insensitive strings.
Fixes #18
Project: http://git-wip-us.apache.org/repos/asf/shiro/repo
Commit: http://git-wip-us.apache.org/repos/asf/shiro/commit/6809366c
Tree: http://git-wip-us.apache.org/repos/asf/shiro/tree/6809366c
Diff: http://git-wip-us.apache.org/repos/asf/shiro/diff/6809366c
Branch: refs/heads/1.3.x
Commit: 6809366c83869d493e4109d822d0aa44a03d303b
Parents: fd161e0
Author: Matt Bishop <ma...@elasticpath.com>
Authored: Sun May 29 12:12:31 2016 -0700
Committer: Brian Demers <bd...@stormpath.com>
Committed: Wed Jun 29 14:59:59 2016 -0700
----------------------------------------------------------------------
.../shiro/authz/permission/WildcardPermission.java | 16 +++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/shiro/blob/6809366c/core/src/main/java/org/apache/shiro/authz/permission/WildcardPermission.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/shiro/authz/permission/WildcardPermission.java b/core/src/main/java/org/apache/shiro/authz/permission/WildcardPermission.java
index cb9d14e..54032a3 100644
--- a/core/src/main/java/org/apache/shiro/authz/permission/WildcardPermission.java
+++ b/core/src/main/java/org/apache/shiro/authz/permission/WildcardPermission.java
@@ -154,14 +154,16 @@ public class WildcardPermission implements Permission, Serializable {
throw new IllegalArgumentException("Wildcard string cannot be null or empty. Make sure permission strings are properly formatted.");
}
+ if (!caseSensitive) {
+ wildcardString = wildcardString.toLowerCase();
+ }
+
List<String> parts = CollectionUtils.asList(wildcardString.split(PART_DIVIDER_TOKEN));
this.parts = new ArrayList<Set<String>>();
for (String part : parts) {
Set<String> subparts = CollectionUtils.asSet(part.split(SUBPART_DIVIDER_TOKEN));
- if (!caseSensitive) {
- subparts = lowercase(subparts);
- }
+
if (subparts.isEmpty()) {
throw new IllegalArgumentException("Wildcard string cannot contain parts with only dividers. Make sure permission strings are properly formatted.");
}
@@ -173,14 +175,6 @@ public class WildcardPermission implements Permission, Serializable {
}
}
- private Set<String> lowercase(Set<String> subparts) {
- Set<String> lowerCasedSubparts = new LinkedHashSet<String>(subparts.size());
- for (String subpart : subparts) {
- lowerCasedSubparts.add(subpart.toLowerCase());
- }
- return lowerCasedSubparts;
- }
-
/*--------------------------------------------
| A C C E S S O R S / M O D I F I E R S |
============================================*/