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