Skip to content

Commit 357b6a7

Browse files
committed
Simplify
1 parent 359789c commit 357b6a7

File tree

1 file changed

+17
-44
lines changed

1 file changed

+17
-44
lines changed

x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authz/AuthorizationDenialMessages.java

Lines changed: 17 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
package org.elasticsearch.xpack.security.authz;
99

1010
import org.elasticsearch.action.support.IndexComponentSelector;
11-
import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver;
1211
import org.elasticsearch.common.Strings;
1312
import org.elasticsearch.common.util.set.Sets;
1413
import org.elasticsearch.core.Nullable;
@@ -99,57 +98,31 @@ public String actionDenied(
9998
+ "]";
10099
}
101100
} else if (isIndexAction(action)) {
102-
String[] indices = AuthorizationEngine.RequestInfo.indices(request);
103-
if (indices == null || indices.length == 0) {
104-
final Collection<String> privileges = findIndexPrivilegesThatGrant(action, IndexComponentSelector.DATA);
101+
final Collection<String> privileges = findIndexPrivilegesThatGrant(action, IndexComponentSelector.DATA);
102+
final Collection<String> privilegesForFailuresSelector = findIndexPrivilegesThatGrant(
103+
action,
104+
IndexComponentSelector.FAILURES
105+
);
106+
if (privileges != null && false == privileges.isEmpty()) {
107+
message = message
108+
+ ", this action is granted by the index privileges ["
109+
+ collectionToCommaDelimitedString(privileges)
110+
+ "]";
111+
}
112+
if (privilegesForFailuresSelector != null && false == privilegesForFailuresSelector.isEmpty()) {
105113
if (privileges != null && false == privileges.isEmpty()) {
106114
message = message
107-
+ ", this action is granted by the index privileges ["
108-
+ collectionToCommaDelimitedString(privileges)
109-
+ "]";
110-
}
111-
return message;
112-
}
113-
boolean hasFailuresSelector = false;
114-
boolean hasNullOrDataSelector = false;
115-
for (String index : indices) {
116-
if (IndexNameExpressionResolver.hasSelector(index, IndexComponentSelector.FAILURES)) {
117-
hasFailuresSelector = true;
115+
+ " for data access, or ["
116+
+ collectionToCommaDelimitedString(privilegesForFailuresSelector)
117+
+ "] for access via the failures selector";
118118
} else {
119-
hasNullOrDataSelector = true;
120-
}
121-
// we found both selectors, we can stop
122-
if (hasNullOrDataSelector && hasFailuresSelector) {
123-
break;
124-
}
125-
}
126-
if (hasNullOrDataSelector) {
127-
final Collection<String> privileges = findIndexPrivilegesThatGrant(action, IndexComponentSelector.DATA);
128-
if (privileges != null && false == privileges.isEmpty()) {
129119
message = message
130120
+ ", this action is granted by the index privileges ["
131-
+ collectionToCommaDelimitedString(privileges)
132-
+ "]";
133-
}
134-
}
135-
if (hasFailuresSelector) {
136-
final Collection<String> privileges = findIndexPrivilegesThatGrant(action, IndexComponentSelector.FAILURES);
137-
if (privileges != null && false == privileges.isEmpty()) {
138-
if (hasNullOrDataSelector) {
139-
message = message
140-
+ " for data access, or ["
141-
+ collectionToCommaDelimitedString(privileges)
142-
+ "] for access via the failures selector";
143-
} else {
144-
message = message
145-
+ ", this action is granted by the index privileges ["
146-
+ collectionToCommaDelimitedString(privileges)
147-
+ "]";
148-
}
121+
+ collectionToCommaDelimitedString(privilegesForFailuresSelector)
122+
+ "] for access via the failures selector";
149123
}
150124
}
151125
}
152-
153126
return message;
154127
}
155128

0 commit comments

Comments
 (0)