You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by th...@apache.org on 2006/08/18 12:47:27 UTC
svn commit: r432549 - in /lenya/sandbox/ac-restricted-1.4-src:
java/org/apache/lenya/ac/
modules-core/ac-impl/java/src/org/apache/lenya/ac/file/
modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/
modules-core/ac-impl/java/src/org/apache/lenya/cms/...
Author: thorsten
Date: Fri Aug 18 03:47:18 2006
New Revision: 432549
URL: http://svn.apache.org/viewvc?rev=432549&view=rev
Log:
Basic refactored AC prototype. You can now GRANT or DENY credentials on a url basis. This is integrated into the current implementation. We extend the *.acml files with an @method attribute to define whether or not a certain accreditable can have a role. Till now I did not cleaned/verify that some method can be romved due to this changes. The sitetree usecase AC... needs an update and the whole stuff more testing. Please do in lenya-trunk/src: svn switch https://svn.apache.org/repos/asf/lenya/sandbox/ac-restricted-1.4-src
if you are keen to test and play around. Try to change the *acml in the build (e.g. with vim) and see the effect after reload.
Added:
lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/authoring/index/
lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/authoring/index/url-policy.acml
Modified:
lenya/sandbox/ac-restricted-1.4-src/java/org/apache/lenya/ac/Credential.java
lenya/sandbox/ac-restricted-1.4-src/java/org/apache/lenya/ac/Policy.java
lenya/sandbox/ac-restricted-1.4-src/java/org/apache/lenya/ac/PolicyManager.java
lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/file/FilePolicyManager.java
lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/CredentialImpl.java
lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/PolicyAuthorizer.java
lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/PolicyBuilder.java
lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/URLPolicy.java
lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/DocumentPolicyManagerWrapper.java
lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/SitemapPolicyManager.java
lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/admin/subtree-policy.acml
lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/admin/users/lenya.html/subtree-policy.acml
lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/archive/subtree-policy.acml
lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/authoring/subtree-policy.acml
lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/index.html/url-policy.acml
lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/introduction.html/subtree-policy.acml
lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/live/subtree-policy.acml
lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/trash/subtree-policy.acml
lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/url-policy.acml
lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/usecase-policies.xml
lenya/sandbox/ac-restricted-1.4-src/pubs/default/sitemap.xmap
Modified: lenya/sandbox/ac-restricted-1.4-src/java/org/apache/lenya/ac/Credential.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/java/org/apache/lenya/ac/Credential.java?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/java/org/apache/lenya/ac/Credential.java (original)
+++ lenya/sandbox/ac-restricted-1.4-src/java/org/apache/lenya/ac/Credential.java Fri Aug 18 03:47:18 2006
@@ -37,5 +37,6 @@
* @return A boolean value.
*/
boolean contains(Role role);
-
+
+ String getMethod();
}
Modified: lenya/sandbox/ac-restricted-1.4-src/java/org/apache/lenya/ac/Policy.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/java/org/apache/lenya/ac/Policy.java?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/java/org/apache/lenya/ac/Policy.java (original)
+++ lenya/sandbox/ac-restricted-1.4-src/java/org/apache/lenya/ac/Policy.java Fri Aug 18 03:47:18 2006
@@ -47,4 +47,6 @@
*/
boolean isEmpty() throws AccessControlException;
+ Credential[] getCredentials() throws AccessControlException;
+
}
Modified: lenya/sandbox/ac-restricted-1.4-src/java/org/apache/lenya/ac/PolicyManager.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/java/org/apache/lenya/ac/PolicyManager.java?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/java/org/apache/lenya/ac/PolicyManager.java (original)
+++ lenya/sandbox/ac-restricted-1.4-src/java/org/apache/lenya/ac/PolicyManager.java Fri Aug 18 03:47:18 2006
@@ -39,6 +39,15 @@
* @throws AccessControlException when something went wrong.
*/
Policy getPolicy(AccreditableManager controller, String url) throws AccessControlException;
+
+ /**
+ * Return all credentials for this url
+ * @param url The AC url
+ * @param manager The Accreditable Manager
+ * @return An array of credentials
+ * @throws AccessControlException when something went wrong.
+ */
+ Credential[] getCredentials(AccreditableManager controller, String url) throws AccessControlException;
/**
* Called when an accreditable was added. Used to create the admin interface policy.
Modified: lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/file/FilePolicyManager.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/file/FilePolicyManager.java?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/file/FilePolicyManager.java (original)
+++ lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/file/FilePolicyManager.java Fri Aug 18 03:47:18 2006
@@ -42,6 +42,7 @@
import org.apache.lenya.ac.AccessControlException;
import org.apache.lenya.ac.Accreditable;
import org.apache.lenya.ac.AccreditableManager;
+import org.apache.lenya.ac.Credential;
import org.apache.lenya.ac.ModifiablePolicy;
import org.apache.lenya.ac.Policy;
import org.apache.lenya.ac.Role;
@@ -107,6 +108,8 @@
private SourceCache cache;
+ private Credential[] credentials;
+
protected static final String URL_FILENAME = "url-policy.acml";
protected static final String SUBTREE_FILENAME = "subtree-policy.acml";
protected static final String USER_ADMIN_URL = "/admin/users/";
@@ -507,5 +510,57 @@
}
}
}
+
+ public Credential[] getCredentials(AccreditableManager controller, String url) throws AccessControlException {
+ Credential[] copy=null;
+ List credentials = new ArrayList();
+
+ Policy policy = buildURLPolicy(controller, url);
+ if (policy != null){
+ Credential[] tmp=policy.getCredentials();
+ for (int i = 0; i < tmp.length; i++) {
+ Credential credential = tmp[i];
+ credentials.add(credential);
+ }
+ }
+
+ // The live area should be restrictive and will use the policy belonging to self-or-ancestor
+ if (url.startsWith("/live")) {
+ while (url.indexOf("/") >= 0) {
+ policy = buildSubtreePolicy(controller, url + "/");
+ if (policy != null){
+ Credential[] tmp=policy.getCredentials();
+ for (int i = 0; i < tmp.length; i++) {
+ Credential credential = tmp[i];
+ credentials.add(credential);
+ }
+ }
+ if (!policy.isEmpty()) {
+ url = "";
+ } else {
+ url = url.replaceFirst("/[\\w\\-\\.\\_\\~]*$", "");
+ }
+ }
+ } else {
+ String[] directories = url.split("/");
+ url = "";
+
+ for (int i = 0; i < directories.length; i++) {
+ url += directories[i] + "/";
+ policy = buildSubtreePolicy(controller, url);
+ Credential[] tmp=policy.getCredentials();
+ for (int j = 0; j < tmp.length; j++) {
+ Credential credential = tmp[j];
+ credentials.add(credential);
+ }
+ }
+ }
+ return (Credential[]) credentials.toArray(new Credential[credentials.size()]);
+ /*Credential[] copy = new Credential[credentials.length];
+ for (int i = 0; i < credentials.length; i++) {
+ copy[i]=credentials[i];
+ }
+ return copy;*/
+ }
}
Modified: lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/CredentialImpl.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/CredentialImpl.java?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/CredentialImpl.java (original)
+++ lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/CredentialImpl.java Fri Aug 18 03:47:18 2006
@@ -32,6 +32,9 @@
public class CredentialImpl implements Credential {
private Accreditable accreditable;
private Set roles = new HashSet();
+ private String method;
+ protected static final String GRANT = "grant";
+ protected static final String DENY = "deny";
/**
* Creates a new credential object.
@@ -108,5 +111,26 @@
*/
public boolean isEmpty() {
return this.roles.isEmpty();
+ }
+
+ /**
+ * Set the method of the credential, grant or deny
+ * @param method A string grant or deny
+ */
+ public void setMethod(String method) {
+ this.method = method;
+ }
+
+
+ public String getMethod() {
+ return method;
+ }
+
+ public boolean isGranted() {
+ return this.method.equals(GRANT);
+ }
+
+ public boolean isDenied() {
+ return this.method.equals(DENY);
}
}
Modified: lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/PolicyAuthorizer.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/PolicyAuthorizer.java?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/PolicyAuthorizer.java (original)
+++ lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/PolicyAuthorizer.java Fri Aug 18 03:47:18 2006
@@ -18,6 +18,8 @@
package org.apache.lenya.ac.impl;
import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.cocoon.environment.Request;
@@ -25,6 +27,7 @@
import org.apache.lenya.ac.AccessControlException;
import org.apache.lenya.ac.AccreditableManager;
import org.apache.lenya.ac.Authorizer;
+import org.apache.lenya.ac.Credential;
import org.apache.lenya.ac.Identity;
import org.apache.lenya.ac.Policy;
import org.apache.lenya.ac.PolicyManager;
@@ -106,9 +109,25 @@
Policy policy = getPolicyManager().getPolicy(getAccreditableManager(), webappUrl);
Role[] roles = policy.getRoles(identity);
+ boolean authorized = false,out=false;
+ Credential[] credentials = getPolicyManager().getCredentials(getAccreditableManager(), webappUrl);
+ for (int i = 0; i < credentials.length; i++) {
+ Credential credential = credentials[i];
+ for (int j = 0; j < roles.length; j++) {
+ Role role = roles[j];
+ if (credential.contains(role)){
+ String method=credential.getMethod();
+ if (method.equals(CredentialImpl.GRANT)){
+ authorized=true;
+ }
+ out=true;
+ break;
+ }
+ }
+ if(out)
+ break;
+ }
saveRoles(request, roles);
-
- boolean authorized = roles.length > 0;
return authorized;
}
Modified: lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/PolicyBuilder.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/PolicyBuilder.java?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/PolicyBuilder.java (original)
+++ lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/PolicyBuilder.java Fri Aug 18 03:47:18 2006
@@ -71,6 +71,7 @@
protected static final String IP_RANGE_ELEMENT = "ip-range";
protected static final String ID_ATTRIBUTE = "id";
protected static final String SSL_ATTRIBUTE = "ssl";
+ protected static final String METHOD_ATTRIBUTE = "method";
/**
* Builds a policy from an input stream.
@@ -119,17 +120,21 @@
String id = credentialElements[i].getAttribute(ID_ATTRIBUTE);
accreditable = getAccreditable(credentialElements[i].getLocalName(), id);
- CredentialImpl credential = new CredentialImpl(accreditable);
-
Element[] roleElements = helper.getChildren(credentialElements[i], ROLE_ELEMENT);
for (int j = 0; j < roleElements.length; j++) {
+ CredentialImpl credential = new CredentialImpl(accreditable);
String roleId = roleElements[j].getAttribute(ID_ATTRIBUTE);
Role role = getAccreditableManager().getRoleManager().getRole(roleId);
- credential.addRole(role);
+ String method = roleElements[j].getAttribute(METHOD_ATTRIBUTE);
+ // If method is not set, we assume DENY
+ if(method.length()==0) method=CredentialImpl.DENY;
+ credential.setMethod(method);
+ // if (method.equals(CredentialImpl.GRANT))
+ credential.addRole(role);
+ policy.addCredential(credential);
}
- policy.addCredential(credential);
}
boolean ssl = false;
Modified: lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/URLPolicy.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/URLPolicy.java?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/URLPolicy.java (original)
+++ lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/ac/impl/URLPolicy.java Fri Aug 18 03:47:18 2006
@@ -20,16 +20,21 @@
package org.apache.lenya.ac.impl;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.HashSet;
+import java.util.Map;
import java.util.Set;
import org.apache.lenya.ac.AccessControlException;
import org.apache.lenya.ac.AccreditableManager;
+import org.apache.lenya.ac.Credential;
import org.apache.lenya.ac.Identity;
import org.apache.lenya.ac.InheritingPolicyManager;
import org.apache.lenya.ac.Policy;
import org.apache.lenya.ac.Role;
+import com.ibm.icu.util.StringTokenizer;
+
/**
* A policy at a certain URL. The final policy is computed by merging the subtree policies of all
* ancestor-or-self directories with the URL policy of the actual URL.
@@ -214,5 +219,37 @@
return empty;
}
+
+ public Credential[] getCredentials() throws AccessControlException {
+ obtainPolicies();
+ Credential[] credential=null;
+ if (this.policies!=null){
+ int credentialCount=0;
+ String hit ="";
+ int i = 0;
+ while (i < this.policies.length) {
+ Credential[] temp= this.policies[i].getCredentials();
+ credentialCount=+temp.length;
+ if (credentialCount>0){
+ hit += ":"+i;
+ }
+ i++;
+ }
+ if (hit.length()>0){
+ credential = new Credential[credentialCount];
+ String[] token = hit.split(":");
+ for (int j = 0; j < token.length; j++) {
+ if(token[j].length()>0){
+ //fixme: implement!!!
+ //Credential[] temp= this.policies[j].getCredentials();
+ credential= this.policies[j].getCredentials();
+ }
+ }
+ }
+ }
+
+
+ return credential;
+ }
}
Modified: lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/DocumentPolicyManagerWrapper.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/DocumentPolicyManagerWrapper.java?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/DocumentPolicyManagerWrapper.java (original)
+++ lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/DocumentPolicyManagerWrapper.java Fri Aug 18 03:47:18 2006
@@ -33,6 +33,7 @@
import org.apache.lenya.ac.AccessControlException;
import org.apache.lenya.ac.Accreditable;
import org.apache.lenya.ac.AccreditableManager;
+import org.apache.lenya.ac.Credential;
import org.apache.lenya.ac.InheritingPolicyManager;
import org.apache.lenya.ac.Policy;
import org.apache.lenya.ac.PolicyManager;
@@ -282,4 +283,8 @@
throws AccessControlException {
getPolicyManager().accreditableAdded(manager, accreditable);
}
+
+ public Credential[] getCredentials(AccreditableManager controller, String url) throws AccessControlException {
+ return getPolicyManager().getCredentials(controller, getPolicyURL(url));
+ }
}
Modified: lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/SitemapPolicyManager.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/SitemapPolicyManager.java?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/SitemapPolicyManager.java (original)
+++ lenya/sandbox/ac-restricted-1.4-src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/SitemapPolicyManager.java Fri Aug 18 03:47:18 2006
@@ -32,6 +32,7 @@
import org.apache.lenya.ac.AccessControlException;
import org.apache.lenya.ac.Accreditable;
import org.apache.lenya.ac.AccreditableManager;
+import org.apache.lenya.ac.Credential;
import org.apache.lenya.ac.Policy;
import org.apache.lenya.ac.PolicyManager;
import org.apache.lenya.ac.impl.PolicyBuilder;
@@ -45,7 +46,9 @@
*/
public class SitemapPolicyManager extends AbstractLogEnabled implements PolicyManager, Serviceable {
- /**
+ private Credential[] credentials;
+
+ /**
* @see org.apache.lenya.ac.PolicyManager#getPolicy(org.apache.lenya.ac.AccreditableManager,
* java.lang.String)
*/
@@ -73,6 +76,7 @@
source = resolver.resolveURI("cocoon://" + policyUrl);
Document document = DocumentHelper.readDocument(source.getInputStream());
policy = new PolicyBuilder(accreditableManager).buildPolicy(document);
+ this.credentials=policy.getCredentials();
} catch (SourceNotFoundException e) {
throw new AccessControlException(e);
} catch (ServiceException e) {
@@ -133,5 +137,13 @@
throws AccessControlException {
// do nothing
}
+
+ public Credential[] getCredentials(AccreditableManager controller, String url) throws AccessControlException {
+ Credential[] copy = new Credential[credentials.length];
+ for (int i = 0; i < credentials.length; i++) {
+ copy[i]=credentials[i];
+ }
+ return copy;
+ }
}
Modified: lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/admin/subtree-policy.acml
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/admin/subtree-policy.acml?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/admin/subtree-policy.acml (original)
+++ lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/admin/subtree-policy.acml Fri Aug 18 03:47:18 2006
@@ -15,12 +15,12 @@
limitations under the License.
-->
-<!-- $Id: subtree-policy.acml,v 1.3 2004/03/13 12:34:18 gregor Exp $ -->
+<!-- $Id$ -->
<policy xmlns="http://apache.org/cocoon/lenya/ac/1.0">
<group id="admin">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</group>
</policy>
Modified: lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/admin/users/lenya.html/subtree-policy.acml
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/admin/users/lenya.html/subtree-policy.acml?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
Binary files - no diff available.
Modified: lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/archive/subtree-policy.acml
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/archive/subtree-policy.acml?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/archive/subtree-policy.acml (original)
+++ lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/archive/subtree-policy.acml Fri Aug 18 03:47:18 2006
@@ -20,15 +20,15 @@
<policy xmlns="http://apache.org/cocoon/lenya/ac/1.0">
<group id="editor">
- <role id="edit"/>
+ <role id="edit" method="grant" />
</group>
<group id="reviewer">
- <role id="review"/>
+ <role id="review" method="grant" />
</group>
<group id="admin">
- <role id="admin"/>
+ <role id="admin" method="grant" />
</group>
</policy>
Added: lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/authoring/index/url-policy.acml
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/authoring/index/url-policy.acml?rev=432549&view=auto
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/authoring/index/url-policy.acml (added)
+++ lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/authoring/index/url-policy.acml Fri Aug 18 03:47:18 2006
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 1999-2004 The Apache Software Foundation
+
+ Licensed 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.
+-->
+
+<!-- $Id: url-policy.acml,v 1.3 2004/03/13 12:34:15 gregor Exp $ -->
+
+<policy xmlns="http://apache.org/cocoon/lenya/ac/1.0">
+
+ <world>
+ <role id="visit"/>
+ </world>
+
+</policy>
Modified: lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/authoring/subtree-policy.acml
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/authoring/subtree-policy.acml?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/authoring/subtree-policy.acml (original)
+++ lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/authoring/subtree-policy.acml Fri Aug 18 03:47:18 2006
@@ -20,15 +20,15 @@
<policy xmlns="http://apache.org/cocoon/lenya/ac/1.0">
<group id="editor">
- <role id="edit"/>
+ <role id="edit" method="grant"/>
</group>
<group id="reviewer">
- <role id="review"/>
+ <role id="review" method="grant"/>
</group>
<group id="admin">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</group>
</policy>
Modified: lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/index.html/url-policy.acml
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/index.html/url-policy.acml?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/index.html/url-policy.acml (original)
+++ lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/index.html/url-policy.acml Fri Aug 18 03:47:18 2006
@@ -15,12 +15,12 @@
limitations under the License.
-->
-<!-- $Id: url-policy.acml,v 1.3 2004/03/13 12:34:15 gregor Exp $ -->
+<!-- $Id$ -->
<policy xmlns="http://apache.org/cocoon/lenya/ac/1.0">
<world>
- <role id="visit"/>
+ <role id="visit" method="grant"/>
</world>
</policy>
Modified: lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/introduction.html/subtree-policy.acml
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/introduction.html/subtree-policy.acml?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/introduction.html/subtree-policy.acml (original)
+++ lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/introduction.html/subtree-policy.acml Fri Aug 18 03:47:18 2006
@@ -15,12 +15,12 @@
limitations under the License.
-->
-<!-- $Id: subtree-policy.acml,v 1.3 2004/03/13 12:34:18 gregor Exp $ -->
+<!-- $Id$ -->
<policy xmlns="http://apache.org/cocoon/lenya/ac/1.0">
<world>
- <role id="visit"/>
+ <role id="visit" method="grant"/>
</world>
</policy>
Modified: lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/live/subtree-policy.acml
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/live/subtree-policy.acml?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/live/subtree-policy.acml (original)
+++ lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/live/subtree-policy.acml Fri Aug 18 03:47:18 2006
@@ -15,12 +15,12 @@
limitations under the License.
-->
-<!-- $Id: subtree-policy.acml,v 1.3 2004/03/13 12:34:18 gregor Exp $ -->
+<!-- $Id$ -->
<policy xmlns="http://apache.org/cocoon/lenya/ac/1.0">
<world>
- <role id="visit"/>
+ <role id="visit" method="grant"/>
</world>
</policy>
Modified: lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/trash/subtree-policy.acml
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/trash/subtree-policy.acml?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/trash/subtree-policy.acml (original)
+++ lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/trash/subtree-policy.acml Fri Aug 18 03:47:18 2006
@@ -20,15 +20,15 @@
<policy xmlns="http://apache.org/cocoon/lenya/ac/1.0">
<group id="editor">
- <role id="edit"/>
+ <role id="edit" method="grant"/>
</group>
<group id="reviewer">
- <role id="review"/>
+ <role id="review" method="grant"/>
</group>
<group id="admin">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</group>
</policy>
Modified: lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/url-policy.acml
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/url-policy.acml?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/url-policy.acml (original)
+++ lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/policies/url-policy.acml Fri Aug 18 03:47:18 2006
@@ -15,12 +15,12 @@
limitations under the License.
-->
-<!-- $Id: url-policy.acml,v 1.3 2004/03/13 12:34:17 gregor Exp $ -->
+<!-- $Id$ -->
<policy xmlns="http://apache.org/cocoon/lenya/ac/1.0">
<world>
- <role id="visit"/>
+ <role id="visit" method="deny"/>
</world>
</policy>
Modified: lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/usecase-policies.xml
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/usecase-policies.xml?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/usecase-policies.xml (original)
+++ lenya/sandbox/ac-restricted-1.4-src/pubs/default/config/ac/usecase-policies.xml Fri Aug 18 03:47:18 2006
@@ -20,302 +20,307 @@
<!--+++NOTE+++ The usecase list was initialized using modules/usecase-impl/xslt/initUsecasePolicies.xsl.-->
<usecases xmlns="http://apache.org/cocoon/lenya/ac/1.0">
<usecase id="neutron">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="edit.bxe">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="edit.insertAsset">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="edit.insertImage">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="edit.cforms">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="insertAsset.fckeditor">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="insertImage.fckeditor">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="edit.fckeditor">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="linkcheck.getLinks">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="lucene.externalOpensearch">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="lucene.index">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="lucene.opensearch">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="lucene.search">
- <role id="admin"/>
- <role id="edit"/>
- <role id="visit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
+ <role id="visit" method="grant"/>
</usecase>
<usecase id="site.archive">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="site.changeLabel">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="site.changeNodeID">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="site.changeVisibility">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="site.copy">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="site.create">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="site.createLanguage">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="site.cut">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="site.delete">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="site.deleteLanguage">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="site.paste">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="site.restore">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="site.rollback">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="tab.acArchive">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="tab.acAuthoring">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="tab.acLive">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="tab.acTrash">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="tab.assets">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="tab.meta">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="tab.overview">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="tab.revisions">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="tab.scheduler">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="tab.workflow">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="module.odt.create">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="module.odt.upload">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="site.nudge">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="usecase.contactForm">
- <role id="visit"/>
+ <role id="visit" method="grant"/>
</usecase>
<usecase id="usecase.createUsecaseDocument">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="webdav.delete">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="webdav.filePropfind">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="webdav.mkcol">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="webdav.propfind">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="webdav.put">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="admin.addGroup">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.addIPRange">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.addUser">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.changePassword">
- <role id="admin"/>
- <role id="edit"/>
- <role id="review"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
+ <role id="review" method="grant"/>
</usecase>
<usecase id="admin.changePasswordAdmin">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.deleteGroup">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.deleteIPRange">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.deleteUser">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.emptyTrash">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.group">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.groupMembers">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.groupProfile">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.groups">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.ipRangeGroups">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.ipRangeProfile">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.ipRanges">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.serverStatus">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.sessions">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.siteOverview">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.user">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.userGroups">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.userProfile">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="admin.users">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="edit.forms">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="edit.oneform">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="publication.edit">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="publication.createPublicationFromTemplate">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="workflow.delete">
- <role id="admin"/>
+ <role id="admin" method="grant"/>
</usecase>
<usecase id="workflow.publish">
- <role id="admin"/>
- <role id="review"/>
+ <role id="admin" method="grant"/>
+ <role id="review" method="grant"/>
</usecase>
<usecase id="workflow.deactivate">
- <role id="admin"/>
- <role id="review"/>
+ <role id="admin" method="grant"/>
+ <role id="review" method="grant"/>
</usecase>
<usecase id="workflow.reject">
- <role id="admin"/>
- <role id="review"/>
+ <role id="admin" method="grant"/>
+ <role id="review" method="grant"/>
</usecase>
<usecase id="workflow.submit">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="kupu">
- <role id="admin"/>
- <role id="edit"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
</usecase>
<usecase id="ac.logout">
- <role id="admin"/>
- <role id="edit"/>
- <role id="review"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
+ <role id="review" method="grant"/>
</usecase>
<usecase id="upload.resource">
- <role id="admin"/>
- <role id="edit"/>
- <role id="review"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
+ <role id="review" method="grant"/>
</usecase>
<usecase id="create.resource">
- <role id="admin"/>
- <role id="edit"/>
- <role id="review"/>
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
+ <role id="review" method="grant"/>
+ </usecase>
+ <usecase id="entry.create">
+ <role id="admin" method="grant"/>
+ <role id="edit" method="grant"/>
+ <role id="review" method="grant"/>
</usecase>
</usecases>
Modified: lenya/sandbox/ac-restricted-1.4-src/pubs/default/sitemap.xmap
URL: http://svn.apache.org/viewvc/lenya/sandbox/ac-restricted-1.4-src/pubs/default/sitemap.xmap?rev=432549&r1=432548&r2=432549&view=diff
==============================================================================
--- lenya/sandbox/ac-restricted-1.4-src/pubs/default/sitemap.xmap (original)
+++ lenya/sandbox/ac-restricted-1.4-src/pubs/default/sitemap.xmap Fri Aug 18 03:47:18 2006
@@ -135,7 +135,7 @@
<!-- /lenyabody-{rendertype}/{publication-id}/{area}/{doctype}/{url} -->
<map:match pattern="lenyabody-*/*/*/*/**">
<map:aggregate element="cmsbody">
- <map:part src="cocoon://modules/sitetree/{2}/{3}/breadcrumb/{5}.xml"/>
+ <map:part src="cocoon://modules/sitetreeextended/{2}/{3}/menu/{5}.xml"/>
<map:part src="cocoon://modules/sitetree/{2}/{3}/tabs/{5}.xml"/>
<map:part src="cocoon://modules/sitetree/{2}/{3}/menu/{5}.xml"/>
<map:part src="cocoon://modules/sitetree/{2}/{3}/search/{5}.xml"/>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org