View | Details | Raw Unified | Return to bug 39797
Collapse All | Expand All

(-)src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/usecase/UsecaseAuthorizerImpl.java (-4 / +4 lines)
Lines 96-102 Link Here
96
    public boolean authorize(Request request) throws AccessControlException {
96
    public boolean authorize(Request request) throws AccessControlException {
97
97
98
        String usecase = request.getParameter(USECASE_PARAMETER);
98
        String usecase = request.getParameter(USECASE_PARAMETER);
99
        boolean authorized = true;
99
        boolean authorized = false;
100
100
101
        SourceResolver resolver = null;
101
        SourceResolver resolver = null;
102
102
Lines 119-124 Link Here
119
                        request.getRequestURI());
119
                        request.getRequestURI());
120
            } else {
120
            } else {
121
                getLogger().debug("No usecase to authorize. Granting access.");
121
                getLogger().debug("No usecase to authorize. Granting access.");
122
                authorized = true;
122
            }
123
            }
123
        } catch (final ServiceException e) {
124
        } catch (final ServiceException e) {
124
            throw new AccessControlException(e);
125
            throw new AccessControlException(e);
Lines 148-154 Link Here
148
    public boolean authorizeUsecase(String usecase, Role[] roles, String _configurationUri,
149
    public boolean authorizeUsecase(String usecase, Role[] roles, String _configurationUri,
149
            String requestURI) throws AccessControlException {
150
            String requestURI) throws AccessControlException {
150
        getLogger().debug("Authorizing usecase [" + usecase + "]");
151
        getLogger().debug("Authorizing usecase [" + usecase + "]");
151
        boolean authorized = true;
152
        boolean authorized = false;
152
153
153
        UsecaseRolesBuilder builder = new UsecaseRolesBuilder();
154
        UsecaseRolesBuilder builder = new UsecaseRolesBuilder();
154
        UsecaseRoles usecaseRoles;
155
        UsecaseRoles usecaseRoles;
Lines 170-176 Link Here
170
            List usecaseRoleIds = Arrays.asList(usecaseRoles.getRoles(usecase));
171
            List usecaseRoleIds = Arrays.asList(usecaseRoles.getRoles(usecase));
171
172
172
            int i = 0;
173
            int i = 0;
173
            authorized = false;
174
            while (!authorized && i < roles.length) {
174
            while (!authorized && i < roles.length) {
175
                authorized = usecaseRoleIds.contains(roles[i].getId());
175
                authorized = usecaseRoleIds.contains(roles[i].getId());
176
                getLogger().debug("Authorization for role [" + roles[i].getId() + "] is ["
176
                getLogger().debug("Authorization for role [" + roles[i].getId() + "] is ["
Lines 178-184 Link Here
178
                i++;
178
                i++;
179
            }
179
            }
180
        } else {
180
        } else {
181
            getLogger().debug("No roles for usecase found. Granting access.");
181
            getLogger().debug("No roles for usecase found. Denying access.");
182
        }
182
        }
183
        return authorized;
183
        return authorized;
184
    }
184
    }

Return to bug 39797