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;
   
                                   }
                               }
  

Reply via email to