logo       
Google Custom Search
    AddThis Social Bookmark Button

svn commit: r239664 - /lenya/trunk/src/java/org/apache/lenya/ac/file/FilePo: msg#00064

Subject: svn commit: r239664 - /lenya/trunk/src/java/org/apache/lenya/ac/file/FilePolicyManager.java
Author: chestnut
Date: Wed Aug 24 07:08:11 2005
New Revision: 239664

URL: http://svn.apache.org/viewcvs?rev=239664&view=rev
Log:
Fixes ability to use the AC Live tab to restrict access to a page or group of 
pages in the live area

Modified:
    lenya/trunk/src/java/org/apache/lenya/ac/file/FilePolicyManager.java

Modified: lenya/trunk/src/java/org/apache/lenya/ac/file/FilePolicyManager.java
URL: 
http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/ac/file/FilePolicyManager.java?rev=239664&r1=239663&r2=239664&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/ac/file/FilePolicyManager.java 
(original)
+++ lenya/trunk/src/java/org/apache/lenya/ac/file/FilePolicyManager.java Wed 
Aug 24 07:08:11 2005
@@ -372,15 +372,27 @@
         Policy policy = buildURLPolicy(controller, url);
         policies.add(policy);
 
-        String[] directories = url.split("/");
-        url = "";
+        //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+"/");
+                policies.add(policy);
+                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);
-            policies.add(policy);
+            for (int i = 0; i < directories.length; i++) {
+                url += directories[i] + "/";
+                policy = buildSubtreePolicy(controller, url);
+                policies.add(policy);
+            }
         }
-
         return (DefaultPolicy[]) policies.toArray(new 
DefaultPolicy[policies.size()]);
     }



Try Searching:
servers, voip, java, networking, microsoft ...
<Prev in Thread] Current Thread [Next in Thread>