tdraier 2004/12/14 17:32:13 CET
Modified files: (Branch: JAHIA-4-0-BRANCH)
src/java/org/apache/slide/security SecurityImpl.java
Log:
try not to stop access right checking if a user has disappeared from a group
Revision Changes Path
1.5.4.1 +31 -28
jahia/src/java/org/apache/slide/security/SecurityImpl.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/src/java/org/apache/slide/security/SecurityImpl.java.diff?r1=1.5&r2=1.5.4.1&f=h
Index: SecurityImpl.java
===================================================================
RCS file:
/home/cvs/repository/jahia/src/java/org/apache/slide/security/Attic/SecurityImpl.java,v
retrieving revision 1.5
retrieving revision 1.5.4.1
diff -u -r1.5 -r1.5.4.1
--- SecurityImpl.java 12 Dec 2003 11:38:07 -0000 1.5
+++ SecurityImpl.java 14 Dec 2004 16:32:12 -0000 1.5.4.1
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/repository/jahia/src/java/org/apache/slide/security/Attic/SecurityImpl.java,v
1.5 2003/12/12 11:38:07 knguyen Exp $
- * $Revision: 1.5 $
- * $Date: 2003/12/12 11:38:07 $
+ * $Header:
/home/cvs/repository/jahia/src/java/org/apache/slide/security/Attic/SecurityImpl.java,v
1.5.4.1 2004/12/14 16:32:12 tdraier Exp $
+ * $Revision: 1.5.4.1 $
+ * $Date: 2004/12/14 16:32:12 $
*
* ====================================================================
*
@@ -85,7 +85,7 @@
* Security helper.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Remy Maucherat</a>
- * @version $Revision: 1.5 $
+ * @version $Revision: 1.5.4.1 $
*/
public final class SecurityImpl implements Security {
@@ -652,31 +652,34 @@
Uri childUri =
namespace.getUri
((String)
groupMembers.nextElement());
- ObjectNode childNode =
- childUri.getStore().retrieveObject
- (childUri);
- String childSubjectUri;
- if (childNode instanceof LinkNode) {
- childSubjectUri = ((LinkNode)
childNode).getLinkedUri();
- } else if (childNode instanceof
UserLinkNode) {
- childSubjectUri = ((UserLinkNode)
childNode).getLinkedUri();
- } else {
- childSubjectUri = childNode.getUri();
+ try {
+ ObjectNode childNode =
+
childUri.getStore().retrieveObject
+ (childUri);
+ String childSubjectUri;
+ if (childNode instanceof LinkNode) {
+ childSubjectUri = ((LinkNode)
childNode).getLinkedUri();
+ } else if (childNode instanceof
UserLinkNode) {
+ childSubjectUri =
((UserLinkNode) childNode).getLinkedUri();
+ } else {
+ childSubjectUri =
childNode.getUri();
+ }
+ granted = (!permission.isNegative())
+ && (subjectUri.toString()
+ .startsWith(childSubjectUri))
+ && (actionUri.toString()
+ .startsWith
+ (permission.getActionUri()));
+ denied = (permission.isNegative())
+ && (subjectUri.toString()
+ .startsWith(childSubjectUri))
+ && (actionUri.toString()
+ .startsWith
+ (permission.getActionUri()));
+ granted = granted | oldGranted;
+ denied = denied | oldDenied;
+ } catch (ObjectNotFoundException e) {
}
- granted = (!permission.isNegative())
- && (subjectUri.toString()
- .startsWith(childSubjectUri))
- && (actionUri.toString()
- .startsWith
- (permission.getActionUri()));
- denied = (permission.isNegative())
- && (subjectUri.toString()
- .startsWith(childSubjectUri))
- && (actionUri.toString()
- .startsWith
- (permission.getActionUri()));
- granted = granted | oldGranted;
- denied = denied | oldDenied;
}
}