From 43ba7b38b57a067e8c039fb14901c8b462e41306 Mon Sep 17 00:00:00 2001 From: Derek Hulley Date: Tue, 13 Oct 2009 11:51:40 +0000 Subject: [PATCH] Merged V3.2 to HEAD 15579: Merged V3.1 to V3.2 14048: Fixed ETHREEOH-1612: Unable to modify the 'guest' username(s) 14093: Build/test fix - fallout from recent guest changes 15581: Removed reference to 'alfresco.messages.portlets' resource bundle 15582: Fixed merge errors after guest user changes 15583: Merged V3.1 to V3.2 14049: Minor addition to ETHREEOH-1612 fix: Guest and Admin usernames should not be changed AFTER INSTALLATION 14060: Handle null username in calls to authenticate 14086: Removed references to non-existent GROUP_ALFRESCO_GUESTS. 15584: Merged V3.1 to V3.2 14103: Build/test fix - fallout from recent guest changes (revert previous change + move makeHomeFolderIfRequired out of getPersonOrNull) 15585: Merged V3.1 to V3.2 14110: Build/test fix (CMISTest) - fallout from recent guest changes (test server ctx must be init'ed before calling runAs) 14166: Fixed ETHREEOH-2016: Usernames with domain-name separators lead to "bad filename" errors 14184: *RECORD ONLY* Fixed ETHREEOH-2018: NTLM SSO fails with NPE 14495: *RECORD ONLY* 14511: *RECORD ONLY* 14516: ETHREEOH-2162 (DB2 script key rename) ___________________________________________________________________ Modified: svn:mergeinfo Merged /alfresco/BRANCHES/V3.0:r14494 Merged /alfresco/BRANCHES/V3.1:r14048-14049,14060,14086,14093,14103,14110,14166,14184,14495,14511,14516 Merged /alfresco/BRANCHES/V3.2:r15579,15581-15585 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16859 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../web/app/portlet/AlfrescoDefaultViewSelector.java | 4 ++-- .../alfresco/web/app/servlet/AuthenticationHelper.java | 5 +++-- .../web/app/servlet/GuestDownloadContentServlet.java | 3 +-- .../web/app/servlet/GuestTemplateContentServlet.java | 8 +++----- .../java/org/alfresco/web/bean/groups/AddUsersDialog.java | 4 ++-- .../java/org/alfresco/web/bean/repository/Repository.java | 2 +- .../alfresco/web/bean/workflow/BaseReassignDialog.java | 4 ++-- .../ui/repo/component/property/BaseAssociationEditor.java | 8 +++++--- 8 files changed, 19 insertions(+), 19 deletions(-) diff --git a/source/java/org/alfresco/web/app/portlet/AlfrescoDefaultViewSelector.java b/source/java/org/alfresco/web/app/portlet/AlfrescoDefaultViewSelector.java index 5aa4c382ae..536db3e2cd 100644 --- a/source/java/org/alfresco/web/app/portlet/AlfrescoDefaultViewSelector.java +++ b/source/java/org/alfresco/web/app/portlet/AlfrescoDefaultViewSelector.java @@ -29,7 +29,7 @@ import javax.portlet.PortletException; import javax.portlet.RenderRequest; import javax.portlet.RenderResponse; -import org.alfresco.service.cmr.security.PermissionService; +import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.web.app.servlet.AuthenticationHelper; import org.alfresco.web.bean.repository.User; import org.apache.myfaces.portlet.DefaultViewSelector; @@ -45,7 +45,7 @@ public class AlfrescoDefaultViewSelector implements DefaultViewSelector public String selectViewId(RenderRequest request, RenderResponse response) throws PortletException { User user = (User)request.getPortletSession().getAttribute(AuthenticationHelper.AUTHENTICATION_USER); - if (user != null && user.getUserName().equals(PermissionService.GUEST_AUTHORITY)) + if (user != null && user.getUserName().equals(AuthenticationUtil.getGuestUserName())) { return "/jsp/browse/browse.jsp"; } diff --git a/source/java/org/alfresco/web/app/servlet/AuthenticationHelper.java b/source/java/org/alfresco/web/app/servlet/AuthenticationHelper.java index 8c205857c6..ab945e03e9 100644 --- a/source/java/org/alfresco/web/app/servlet/AuthenticationHelper.java +++ b/source/java/org/alfresco/web/app/servlet/AuthenticationHelper.java @@ -466,6 +466,7 @@ public final class AuthenticationHelper * @param httpResponse The HTTP response * @return The User object representing the current user or null if it could not be found */ + @SuppressWarnings("unchecked") public static User getUser(ServletContext sc, HttpServletRequest httpRequest, HttpServletResponse httpResponse) { String userId = null; @@ -491,10 +492,10 @@ public final class AuthenticationHelper // naff solution as we need to enumerate all session keys until we find the one that // should match our User objects - this is weak but we don't know how the underlying // Portal vendor has decided to encode the objects in the session - Enumeration enumNames = session.getAttributeNames(); + Enumeration enumNames = (Enumeration) session.getAttributeNames(); while (enumNames.hasMoreElements()) { - String name = (String)enumNames.nextElement(); + String name = enumNames.nextElement(); if (name.endsWith(AUTHENTICATION_USER)) { user = (User) session.getAttribute(name); diff --git a/source/java/org/alfresco/web/app/servlet/GuestDownloadContentServlet.java b/source/java/org/alfresco/web/app/servlet/GuestDownloadContentServlet.java index 870cbcdd60..1ed3a5c3e8 100644 --- a/source/java/org/alfresco/web/app/servlet/GuestDownloadContentServlet.java +++ b/source/java/org/alfresco/web/app/servlet/GuestDownloadContentServlet.java @@ -33,7 +33,6 @@ import javax.servlet.http.HttpServletResponse; import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork; import org.alfresco.service.cmr.repository.NodeRef; -import org.alfresco.service.cmr.security.PermissionService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -96,7 +95,7 @@ public class GuestDownloadContentServlet extends BaseDownloadContentServlet } DownloadContentWork dcw = new DownloadContentWork(req, res); - AuthenticationUtil.runAs(dcw, PermissionService.GUEST_AUTHORITY); + AuthenticationUtil.runAs(dcw, AuthenticationUtil.getGuestUserName()); } /** diff --git a/source/java/org/alfresco/web/app/servlet/GuestTemplateContentServlet.java b/source/java/org/alfresco/web/app/servlet/GuestTemplateContentServlet.java index 702799daf5..929cf0cc86 100644 --- a/source/java/org/alfresco/web/app/servlet/GuestTemplateContentServlet.java +++ b/source/java/org/alfresco/web/app/servlet/GuestTemplateContentServlet.java @@ -46,8 +46,6 @@ import org.alfresco.web.bean.repository.User; import org.alfresco.web.ui.repo.component.template.DefaultModelHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; /** * Servlet responsible for streaming content from a template processed against a node directly @@ -109,8 +107,8 @@ public class GuestTemplateContentServlet extends BaseTemplateContentServlet PersonService personService = (PersonService)services.getPersonService(); NodeService nodeService = (NodeService)services.getNodeService(); - NodeRef guestRef = personService.getPerson(PermissionService.GUEST_AUTHORITY); - User guestUser = new User(PermissionService.GUEST_AUTHORITY, auth.getCurrentTicket(), guestRef); + NodeRef guestRef = personService.getPerson(AuthenticationUtil.getGuestUserName()); + User guestUser = new User(AuthenticationUtil.getGuestUserName(), auth.getCurrentTicket(), guestRef); NodeRef guestHomeRef = (NodeRef)nodeService.getProperty(guestRef, ContentModel.PROP_HOMEFOLDER); if (nodeService.exists(guestHomeRef) == false) { @@ -136,7 +134,7 @@ public class GuestTemplateContentServlet extends BaseTemplateContentServlet } TemplateContentWork tcw = new TemplateContentWork(req, res); - AuthenticationUtil.runAs(tcw, PermissionService.GUEST_AUTHORITY); + AuthenticationUtil.runAs(tcw, AuthenticationUtil.getGuestUserName()); } /** diff --git a/source/java/org/alfresco/web/bean/groups/AddUsersDialog.java b/source/java/org/alfresco/web/bean/groups/AddUsersDialog.java index e2654ad1a2..0c92a4346e 100644 --- a/source/java/org/alfresco/web/bean/groups/AddUsersDialog.java +++ b/source/java/org/alfresco/web/bean/groups/AddUsersDialog.java @@ -38,13 +38,13 @@ import javax.transaction.UserTransaction; import org.alfresco.model.ContentModel; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; +import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.transaction.RetryingTransactionHelper; import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.search.ResultSet; import org.alfresco.service.cmr.search.SearchService; import org.alfresco.service.cmr.security.AuthorityService; -import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.cmr.security.PersonService; import org.alfresco.web.app.Application; import org.alfresco.web.bean.dialog.BaseDialogBean; @@ -231,7 +231,7 @@ public class AddUsersDialog extends BaseDialogBean for (NodeRef personRef : nodes) { String username = (String)getNodeService().getProperty(personRef, ContentModel.PROP_USERNAME); - if (PermissionService.GUEST_AUTHORITY.equals(username) == false) + if (AuthenticationUtil.getGuestUserName().equals(username) == false) { String firstName = (String)getNodeService().getProperty(personRef, ContentModel.PROP_FIRSTNAME); String lastName = (String)getNodeService().getProperty(personRef, ContentModel.PROP_LASTNAME); diff --git a/source/java/org/alfresco/web/bean/repository/Repository.java b/source/java/org/alfresco/web/bean/repository/Repository.java index 6ff6ec043d..246fe17ffa 100644 --- a/source/java/org/alfresco/web/bean/repository/Repository.java +++ b/source/java/org/alfresco/web/bean/repository/Repository.java @@ -769,7 +769,7 @@ public final class Repository { TenantService tenantService = (TenantService)FacesContextUtils.getRequiredWebApplicationContext(context).getBean("tenantService"); String userName = Application.getCurrentUser(context).getUserName(); - return tenantService.getBaseNameUser(userName).equalsIgnoreCase(PermissionService.GUEST_AUTHORITY); + return tenantService.getBaseNameUser(userName).equalsIgnoreCase(AuthenticationUtil.getGuestUserName()); } /** diff --git a/source/java/org/alfresco/web/bean/workflow/BaseReassignDialog.java b/source/java/org/alfresco/web/bean/workflow/BaseReassignDialog.java index fdff0eff73..937b415516 100644 --- a/source/java/org/alfresco/web/bean/workflow/BaseReassignDialog.java +++ b/source/java/org/alfresco/web/bean/workflow/BaseReassignDialog.java @@ -36,12 +36,12 @@ import javax.transaction.UserTransaction; import org.alfresco.model.ContentModel; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; +import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.search.LimitBy; import org.alfresco.service.cmr.search.ResultSet; import org.alfresco.service.cmr.search.SearchParameters; import org.alfresco.service.cmr.search.SearchService; -import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.cmr.security.PersonService; import org.alfresco.service.cmr.workflow.WorkflowService; import org.alfresco.web.app.Application; @@ -171,7 +171,7 @@ public abstract class BaseReassignDialog extends BaseDialogBean for (NodeRef personRef : nodes) { String username = (String)getNodeService().getProperty(personRef, ContentModel.PROP_USERNAME); - if (PermissionService.GUEST_AUTHORITY.equals(username) == false) + if (AuthenticationUtil.getGuestUserName().equals(username) == false) { String firstName = (String)getNodeService().getProperty(personRef, ContentModel.PROP_FIRSTNAME); String lastName = (String)getNodeService().getProperty(personRef, ContentModel.PROP_LASTNAME); diff --git a/source/java/org/alfresco/web/ui/repo/component/property/BaseAssociationEditor.java b/source/java/org/alfresco/web/ui/repo/component/property/BaseAssociationEditor.java index f15074685d..8c72b952bf 100644 --- a/source/java/org/alfresco/web/ui/repo/component/property/BaseAssociationEditor.java +++ b/source/java/org/alfresco/web/ui/repo/component/property/BaseAssociationEditor.java @@ -44,6 +44,7 @@ import javax.faces.event.FacesEvent; import javax.transaction.UserTransaction; import org.alfresco.model.ContentModel; +import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.security.authority.AuthorityDAO; import org.alfresco.service.cmr.dictionary.AssociationDefinition; import org.alfresco.service.cmr.repository.NodeRef; @@ -185,6 +186,7 @@ public abstract class BaseAssociationEditor extends UIInput /** * @see javax.faces.component.UIComponent#decode(javax.faces.context.FacesContext) */ + @SuppressWarnings("unchecked") public void decode(FacesContext context) { Map requestMap = context.getExternalContext().getRequestParameterMap(); @@ -862,7 +864,7 @@ public abstract class BaseAssociationEditor extends UIInput { // if the node represents a person, show the full name and userid instead of the name String userName = (String)nodeService.getProperty(item, ContentModel.PROP_USERNAME); - if (userName != null && (userName.equals(PermissionService.GUEST_AUTHORITY) == false)) + if (userName != null && (userName.equals(AuthenticationUtil.getGuestUserName()) == false)) { out.write("