shuber 2005/03/07 14:33:49 CET
Modified files:
core/src/java/org/jahia/bin JahiaAdministration.java
core/src/java/org/jahia/services/acl JahiaACL.java
core/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.8 +2 -1
jahia/core/src/java/org/jahia/bin/JahiaAdministration.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/bin/JahiaAdministration.java.diff?r1=1.7&r2=1.8&f=h
1.8 +13 -7 jahia/core/src/java/org/jahia/services/acl/JahiaACL.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/acl/JahiaACL.java.diff?r1=1.7&r2=1.8&f=h
1.12 +4 -2
jahia/core/src/java/org/jahia/services/usermanager/JahiaUserManagerLDAPProvider.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/usermanager/JahiaUserManagerLDAPProvider.java.diff?r1=1.11&r2=1.12&f=h
Index: JahiaAdministration.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/bin/JahiaAdministration.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- JahiaAdministration.java 28 Feb 2005 16:10:16 -0000 1.7
+++ JahiaAdministration.java 7 Mar 2005 13:33:48 -0000 1.8
@@ -1,4 +1,4 @@
-// $Id: JahiaAdministration.java,v 1.7 2005/02/28 16:10:16 knguyen Exp $
+// $Id: JahiaAdministration.java,v 1.8 2005/03/07 13:33:48 shuber Exp $
//
// ____.
// __/\ ______| |__/\. _______
@@ -261,6 +261,7 @@
doRedirect(request, response, session, contentServletPath);
}
}
+ Jahia.setThreadParamBean(null);
logger.debug("--[ " + request.getMethod() + " Request End ] --");
} // end service
Index: JahiaACL.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/services/acl/JahiaACL.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- JahiaACL.java 4 Mar 2005 15:32:15 -0000 1.7
+++ JahiaACL.java 7 Mar 2005 13:33:49 -0000 1.8
@@ -581,21 +581,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/core/src/java/org/jahia/services/usermanager/JahiaUserManagerLDAPProvider.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- JahiaUserManagerLDAPProvider.java 3 Mar 2005 14:27:19 -0000 1.11
+++ JahiaUserManagerLDAPProvider.java 7 Mar 2005 13:33:49 -0000 1.12
@@ -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;
}