shuber      2005/03/07 14:20:32 CET

  Modified files:        (Branch: JAHIA-4-0-BRANCH)
    src/java/org/jahia/bin JahiaAdministration.java 
    src/java/org/jahia/services/acl JahiaACL.java 
    src/java/org/jahia/services/usermanager 
                                            JahiaUserManagerLDAPProvider.java 
  Log:
  Fix for JAHIA-266 : JahiaUser.getSiteID must not be used on LDAP users, or 
maybe even completely removed from interface
  - JahiaLDAPUser.getSiteID() now returns -1
  - Modified ACL getPermission so that we try as much as possible to use the 
siteID from the ParamBean (although this still isn't 100% correct, the site ID 
should come from the object being tested)
  - Added code in administration so that we put the AdminParamBean in the 
ThreadLocal object.
  
  Revision   Changes    Path
  1.57.2.4   +4 -2      jahia/src/java/org/jahia/bin/JahiaAdministration.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/src/java/org/jahia/bin/JahiaAdministration.java.diff?r1=1.57.2.3&r2=1.57.2.4&f=h
  1.20.4.5   +13 -7     jahia/src/java/org/jahia/services/acl/JahiaACL.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/src/java/org/jahia/services/acl/JahiaACL.java.diff?r1=1.20.4.4&r2=1.20.4.5&f=h
  1.32.4.14  +4 -2      
jahia/src/java/org/jahia/services/usermanager/JahiaUserManagerLDAPProvider.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/src/java/org/jahia/services/usermanager/JahiaUserManagerLDAPProvider.java.diff?r1=1.32.4.13&r2=1.32.4.14&f=h
  
  
  
  Index: JahiaAdministration.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/src/java/org/jahia/bin/Attic/JahiaAdministration.java,v
  retrieving revision 1.57.2.3
  retrieving revision 1.57.2.4
  diff -u -r1.57.2.3 -r1.57.2.4
  --- JahiaAdministration.java  16 Aug 2004 15:02:12 -0000      1.57.2.3
  +++ JahiaAdministration.java  7 Mar 2005 13:20:31 -0000       1.57.2.4
  @@ -1,4 +1,4 @@
  -// $Id: JahiaAdministration.java,v 1.57.2.3 2004/08/16 15:02:12 shuber Exp $
  +// $Id: JahiaAdministration.java,v 1.57.2.4 2005/03/07 13:20:31 shuber Exp $
   //
   //                                   ____.
   //                       __/\ ______|    |__/\.     _______
  @@ -258,6 +258,7 @@
                   doRedirect(request, response, session, contentServletPath);
               }
           }
  +        Jahia.setThreadParamBean(null);
           logger.debug("--[ " + request.getMethod() + " Request End ] --");
       } // end service
   
  @@ -1145,7 +1146,7 @@
        * that is the current identified admin. The page is null and
        * fields set and containers set are not build.
        * The JahiaData is then stored in the request as the attribute :
  -      *                                                                      
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                  
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                "org.jahia.data.JahiaData"
  +     *                                                                       
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                              
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                        
"org.jahia.data.JahiaData"
        *                               "org.jahia.data.JahiaData"
        *
        * @param HttpServletRequest request
  @@ -1216,6 +1217,7 @@
                                                           site,
                                                           user,
                                                           contentPage );
  +        Jahia.setThreadParamBean(jParams);
   
           if ( contentPage != null ){
               try {
  
  
  
  Index: JahiaACL.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/src/java/org/jahia/services/acl/Attic/JahiaACL.java,v
  retrieving revision 1.20.4.4
  retrieving revision 1.20.4.5
  diff -u -r1.20.4.4 -r1.20.4.5
  --- JahiaACL.java     14 Jan 2005 12:58:47 -0000      1.20.4.4
  +++ JahiaACL.java     7 Mar 2005 13:20:32 -0000       1.20.4.5
  @@ -571,21 +571,27 @@
                * administrators from ANY site have full access to all Jahia
                * content ! */
               ParamBean paramBean = Jahia.getThreadParamBean();
  +            JahiaGroup adminGroup = null;
               int contextSiteID = -1;
               if (paramBean != null) {
                   contextSiteID = paramBean.getSiteID();
               } else {
  -                logger.warn("Warning, no ParamBean found in thread context, 
using user siteID to resolve administrator group lookup ! Possible false 
permissions !");
  +                logger.debug("Warning, no ParamBean found in thread context, 
using user siteID to resolve administrator group lookup ! Possible false 
permissions !");
                   contextSiteID = user.getSiteID();
               }
  -            JahiaGroup adminGroup = ServicesRegistry.getInstance ()
  -                    .getJahiaGroupManagerService ().getAdministratorGroup 
(contextSiteID);
  -            if (adminGroup != null) {
  -                if (adminGroup.isMember (user)) {
  -                    result = 1;
  +
  +            if (contextSiteID != -1) {
  +                adminGroup = ServicesRegistry.getInstance()
  +                             
.getJahiaGroupManagerService().getAdministratorGroup(
  +                    contextSiteID);
  +                if (adminGroup != null) {
  +                    if (adminGroup.isMember(user)) {
  +                        result = 1;
  +                    }
                   }
  +            } else {
  +                logger.warn("User comes from LDAP, so we can test it's 
apartanence to the administrators group when we have no site ID");
               }
  -
               //logger.debug("step1 result=" + result);
   
               if (result == -1) {
  
  
  
  Index: JahiaUserManagerLDAPProvider.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/src/java/org/jahia/services/usermanager/Attic/JahiaUserManagerLDAPProvider.java,v
  retrieving revision 1.32.4.13
  retrieving revision 1.32.4.14
  diff -u -r1.32.4.13 -r1.32.4.14
  --- JahiaUserManagerLDAPProvider.java 3 Mar 2005 14:09:13 -0000       
1.32.4.13
  +++ JahiaUserManagerLDAPProvider.java 7 Mar 2005 13:20:32 -0000       
1.32.4.14
  @@ -432,7 +432,8 @@
           //(-PredragV-)
           JahiaUser user = lookupUser (name);
           if (user != null)
  -            user.setSiteID (siteID);
  +            // user.setSiteID (siteID);
  +            user.setSiteID(-1);
           return user;
           //end (-PredragV-)
       }
  @@ -824,7 +825,8 @@
           if (user == null) {
               return null;
           }
  -        user.setSiteID(siteID);
  +        // user.setSiteID(siteID);
  +        user.setSiteID(-1);
           return user;
       }
   
  

Reply via email to