tdraier 2005/02/18 19:09:06 CET
Modified files:
core/src/java/org/jahia/engines/filemanager
DAVFilemanager_Engine.java
core/src/webapp/WEB-INF/etc/slide data.xml
Log:
bugfixes on webdav security and permissions / bad mapping for guest and users
groups
Revision Changes Path
1.7 +16 -2
jahia/core/src/java/org/jahia/engines/filemanager/DAVFilemanager_Engine.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/engines/filemanager/DAVFilemanager_Engine.java.diff?r1=1.6&r2=1.7&f=h
1.3 +4 -4 jahia/core/src/webapp/WEB-INF/etc/slide/data.xml
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/webapp/WEB-INF/etc/slide/data.xml.diff?r1=1.2&r2=1.3&f=h
Index: DAVFilemanager_Engine.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/engines/filemanager/DAVFilemanager_Engine.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- DAVFilemanager_Engine.java 17 Feb 2005 17:10:43 -0000 1.6
+++ DAVFilemanager_Engine.java 18 Feb 2005 18:09:06 -0000 1.7
@@ -941,14 +941,28 @@
lookupUser (
submitedACLEntries[i].substring
(userNameWidth.intValue () + 13));
// usr_grpName = ((JahiaUser)usr_grp).getUsername();
- subject = "/users/" + usr_grp.getUsername ();
+ String username = usr_grp.getUsername ();
+ if (JahiaUserManagerService.GUEST_USERNAME.equals(username))
{
+ subject = "guest";
+ } else {
+ subject = "/users/" + username;
+ }
} else {
JahiaGroup usr_grp = ServicesRegistry.getInstance ()
.getJahiaGroupManagerService ().
lookupGroup (
submitedACLEntries[i].substring
(userNameWidth.intValue () + 13));
// usr_grpName = ((JahiaGroup)usr_grp).getGroupname();
- subject = "+/groups/" + usr_grp.getGroupname () + "/members";
+ String groupname = usr_grp.getGroupname();
+ if
(JahiaGroupManagerService.GUEST_GROUPNAME.equals(groupname)) {
+ subject = "nobody";
+ } else if
(JahiaGroupManagerService.ADMINISTRATORS_GROUPNAME.equals(groupname)) {
+ subject = "root";
+ } else if
(JahiaGroupManagerService.USERS_GROUPNAME.equals(groupname)) {
+ subject = "user";
+ } else {
+ subject = "+/groups/" + groupname + "/members";
+ }
}
// Decode the select box value parameters
String permissions = submitedACLEntries[i].substring (8, 11);
Index: data.xml
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/webapp/WEB-INF/etc/slide/data.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- data.xml 17 Sep 2004 10:14:52 -0000 1.2
+++ data.xml 18 Feb 2005 18:09:06 -0000 1.3
@@ -50,7 +50,7 @@
<!-- /roles -->
<objectnode classname="org.apache.slide.structure.SubjectNode"
uri="/roles">
<permission action="all" subject="self" inheritable="true"/>
- <permission action="all" subject="unauthenticated"
inheritable="true" negative="true"/>
+ <permission action="all" subject="nobody" inheritable="true"
negative="true"/>
<objectnode classname="org.apache.slide.structure.SubjectNode"
uri="/roles/root">
<revision>
<property name="group-member-set"></property>
@@ -70,17 +70,17 @@
<!-- DeltaV: default history and workspace paths -->
<objectnode classname="org.apache.slide.structure.SubjectNode"
uri="/history">
- <permission action="all" subject="unauthenticated"
inheritable="true"/>
+ <permission action="all" subject="nobody" inheritable="true"/>
<permission action="/actions/write" subject="/roles/user"
inheritable="true"/>
<permission action="/actions/read" subject="owner"
inheritable="true"/>
</objectnode>
<objectnode classname="org.apache.slide.structure.SubjectNode"
uri="/workspace">
- <permission action="all" subject="unauthenticated"
inheritable="true"/>
+ <permission action="all" subject="nobody" inheritable="true"/>
<permission action="/actions/write" subject="/roles/user"
inheritable="true"/>
<permission action="/actions/read" subject="owner"
inheritable="true"/>
</objectnode>
<objectnode classname="org.apache.slide.structure.SubjectNode"
uri="/workingresource">
- <permission action="all" subject="unauthenticated"
inheritable="true"/>
+ <permission action="all" subject="nobody" inheritable="true"/>
<permission action="/actions/write" subject="/roles/user"
inheritable="true"/>
<permission action="/actions/read" subject="owner"
inheritable="true"/>
</objectnode>