Author: angela Date: Thu Apr 5 15:33:48 2018 New Revision: 1828446 URL: http://svn.apache.org/viewvc?rev=1828446&view=rev Log: OAK-5122 : Exercise for Custom Authorization Models (wip)
Added: jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/ jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L1_IntroductionTest.java - copied, changed from r1828439, jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/accesscontrol/L1_IntroductionTest.java jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L2_SetupAggregationTest.java (with props) jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L3_UnderstandAggregationTest.java (with props) jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L4_CustomAuthorizationTest.java (with props) jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L5_CustomAccessControlManagementTest.java (with props) jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L6_CustomPermissionEvaluationTest.java (with props) Copied: jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L1_IntroductionTest.java (from r1828439, jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/accesscontrol/L1_IntroductionTest.java) URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L1_IntroductionTest.java?p2=jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L1_IntroductionTest.java&p1=jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/accesscontrol/L1_IntroductionTest.java&r1=1828439&r2=1828446&rev=1828446&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/accesscontrol/L1_IntroductionTest.java (original) +++ jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L1_IntroductionTest.java Thu Apr 5 15:33:48 2018 @@ -14,68 +14,29 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.jackrabbit.oak.exercise.security.authorization.accesscontrol; +package org.apache.jackrabbit.oak.exercise.security.authorization.advanced; import org.apache.jackrabbit.oak.AbstractSecurityTest; /** * <pre> - * Module: Authorization (Access Control Management) + * Module: Advanced Authorization Topics * ============================================================================= * - * Title: Introduction to Access Control Management + * Title: Introduction to Advanced Authorization Topics * ----------------------------------------------------------------------------- * * Goal: - * Become familiar with the JCR Access Control Management API and the extensions - * provided by Jackrabbit API. Understand how access control management is - * used and exposed in Oak and finally gain insight into some details of the - * default implementation. + * Become familiar with the following advanced authorization topics: * - * Exercises: - * - * - Overview and Usages of AccessControl Management - * Search for usage of the access control management API (e.g. {@link javax.jcr.security.AccessControlManager}) - * in Oak _and_ Jackrabbit JCR Commons. - * - * Question: Where is the access control manager being used for? - * Question: Who is the expected API consumer? - * Question: What are the characteristics of this areas? - * Question: Can you identify areas where oak-jcr and oak-core actually make use of the access control management API? - * - * - Configuration - * Look at the default implementation(s) of the {@link org.apache.jackrabbit.oak.spi.security.authorization.AuthorizationConfiguration} - * and try to identify the configurable parts with respect to access control. - * Compare your results with the Oak documentation. - * - * Question: Can you provide a list of configuration options for access control s.str.? - * Question: Can you identify where these configuration options are being evaluated? - * Question: Which options also affect the permission evaluation? - * - * - Pluggability - * Become familar with the pluggable parts of the access control management - * - * Question: What means does Oak provide to change or extend the access control management? - * Question: Can you identify the interfaces that you needed to implement? - * Question: Would it be possible to only replace the implementation of {@link javax.jcr.security.AccessControlManager}? - * How could you achieve this? - * And what would be the consequences for the whole authorization module? - * - * - * Advanced Exercises: - * ----------------------------------------------------------------------------- + * - Aggregation of multiple authorization models in the Oak security setup + * - Understanding how authorization with multiple authorization models. + * - Writing custom authorization models * - * See {@link L7_RestrictionsTest} - * for some advanced exercises with respect to custom restrictions. - * - * - * Related Exercises: - * ----------------------------------------------------------------------------- + * Exercises: * - * - {@link L2_AccessControlManagerTest} - * - {@link L3_AccessControlListTest} - * - {@link L4_EffectivePoliciesTest} - * - {@link L7_RestrictionsTest} + * - Read http://jackrabbit.apache.org/oak/docs/security/introduction.html + * - Read http://jackrabbit.apache.org/oak/docs/security/authorization/composite.html * * </pre> */ Added: jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L2_SetupAggregationTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L2_SetupAggregationTest.java?rev=1828446&view=auto ============================================================================== --- jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L2_SetupAggregationTest.java (added) +++ jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L2_SetupAggregationTest.java Thu Apr 5 15:33:48 2018 @@ -0,0 +1,41 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.jackrabbit.oak.exercise.security.authorization.advanced; + +/** + * <pre> + * Module: Advanced Authorization Topics + * ============================================================================= + * + * Title: Aggregating Multiple Authorization Models : Setup + * ----------------------------------------------------------------------------- + * + * Goal: + * Learn how to deploy authorization models and setup Oak authorization with more + * than one models. + * + * Note, that this section only focuses on OSGi-based Oak setup scenarios. + * + * Exercises: + * TODO + * + * </pre> + */ +public class L2_SetupAggregationTest { + + +} \ No newline at end of file Propchange: jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L2_SetupAggregationTest.java ------------------------------------------------------------------------------ svn:eol-style = native Added: jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L3_UnderstandAggregationTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L3_UnderstandAggregationTest.java?rev=1828446&view=auto ============================================================================== --- jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L3_UnderstandAggregationTest.java (added) +++ jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L3_UnderstandAggregationTest.java Thu Apr 5 15:33:48 2018 @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.jackrabbit.oak.exercise.security.authorization.advanced; + +/** + * <pre> + * Module: Advanced Authorization Topics + * ============================================================================= + * + * Title: Aggregating Multiple Authorization Models : How It Works + * ----------------------------------------------------------------------------- + * + * Goal: + * TODO + * + * Exercises: + * TODO + * + * </pre> + */ +public class L3_UnderstandAggregationTest { + + +} \ No newline at end of file Propchange: jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L3_UnderstandAggregationTest.java ------------------------------------------------------------------------------ svn:eol-style = native Added: jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L4_CustomAuthorizationTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L4_CustomAuthorizationTest.java?rev=1828446&view=auto ============================================================================== --- jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L4_CustomAuthorizationTest.java (added) +++ jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L4_CustomAuthorizationTest.java Thu Apr 5 15:33:48 2018 @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.jackrabbit.oak.exercise.security.authorization.advanced; + +/** + * <pre> + * Module: Advanced Authorization Topics + * ============================================================================= + * + * Title: Writing Custom Authorization : Introduction + * ----------------------------------------------------------------------------- + * + * Goal: + * TODO + * + * Exercises: + * TODO + * + * </pre> + */ +public class L4_CustomAuthorizationTest { + +} \ No newline at end of file Propchange: jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L4_CustomAuthorizationTest.java ------------------------------------------------------------------------------ svn:eol-style = native Added: jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L5_CustomAccessControlManagementTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L5_CustomAccessControlManagementTest.java?rev=1828446&view=auto ============================================================================== --- jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L5_CustomAccessControlManagementTest.java (added) +++ jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L5_CustomAccessControlManagementTest.java Thu Apr 5 15:33:48 2018 @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.jackrabbit.oak.exercise.security.authorization.advanced; + +/** + * <pre> + * Module: Advanced Authorization Topics + * ============================================================================= + * + * Title: Writing Custom Authorization : Access Control Management + * ----------------------------------------------------------------------------- + * + * Goal: + * TODO + * + * Exercises: + * TODO + * + * </pre> + */ +public class L5_CustomAccessControlManagementTest { + + +} \ No newline at end of file Propchange: jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L5_CustomAccessControlManagementTest.java ------------------------------------------------------------------------------ svn:eol-style = native Added: jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L6_CustomPermissionEvaluationTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L6_CustomPermissionEvaluationTest.java?rev=1828446&view=auto ============================================================================== --- jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L6_CustomPermissionEvaluationTest.java (added) +++ jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L6_CustomPermissionEvaluationTest.java Thu Apr 5 15:33:48 2018 @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.jackrabbit.oak.exercise.security.authorization.advanced; + +/** + * <pre> + * Module: Advanced Authorization Topics + * ============================================================================= + * + * Title: Writing Custom Authorization : Permission Evaluation + * ----------------------------------------------------------------------------- + * + * Goal: + * TODO + * + * Exercises: + * TODO + * + * </pre> + */ +public class L6_CustomPermissionEvaluationTest { + + +} \ No newline at end of file Propchange: jackrabbit/oak/trunk/oak-exercise/src/test/java/org/apache/jackrabbit/oak/exercise/security/authorization/advanced/L6_CustomPermissionEvaluationTest.java ------------------------------------------------------------------------------ svn:eol-style = native