Author: julien(a)jboss.com
Date: 2007-03-15 09:11:00 -0400 (Thu, 15 Mar 2007)
New Revision: 6683
Modified:
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/PortalObjectManagerBean.java
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/actions/AddPageAction.java
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/dashboard/DashboardBean.java
trunk/core-admin/src/resources/portal-admin-war/WEB-INF/faces-config.xml
Log:
moved security configuration when a page is added to the listener of the page action since
the dashboard page creation does not require the same security config than a shared page
Modified:
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/PortalObjectManagerBean.java
===================================================================
---
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/PortalObjectManagerBean.java 2007-03-15
13:10:28 UTC (rev 6682)
+++
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/PortalObjectManagerBean.java 2007-03-15
13:11:00 UTC (rev 6683)
@@ -31,6 +31,7 @@
import java.util.List;
import java.util.Map;
import java.util.LinkedList;
+import java.util.Set;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
@@ -45,14 +46,18 @@
import org.jboss.portal.core.model.portal.PortalObjectId;
import org.jboss.portal.core.model.portal.Window;
import org.jboss.portal.core.model.portal.Page;
+import org.jboss.portal.core.model.portal.PortalObjectPermission;
import org.jboss.portal.core.model.content.ContentType;
import org.jboss.portal.core.model.content.Content;
import org.jboss.portal.core.admin.ui.portlet.PortletDefinitionInvoker;
import org.jboss.portal.core.admin.ui.common.PageManagerBean;
+import org.jboss.portal.core.admin.ui.actions.AddPageAction;
import org.jboss.portal.core.impl.model.content.ContentEditorRegistry;
import org.jboss.portal.faces.component.portlet.PortletActionEvent;
import org.jboss.portal.identity.RoleModule;
import org.jboss.portal.security.AuthorizationDomainRegistry;
+import org.jboss.portal.security.RoleSecurityBinding;
+import org.jboss.portal.security.SecurityConstants;
import org.jboss.portal.security.spi.auth.PortalAuthorizationManagerFactory;
import org.jboss.portal.security.spi.provider.DomainConfigurator;
import org.jboss.portal.theme.LayoutService;
@@ -66,7 +71,7 @@
import org.jboss.portal.portlet.PortletInvoker;
/** The portal object manager bean. */
-public class PortalObjectManagerBean implements Serializable
+public class PortalObjectManagerBean implements Serializable, AddPageAction.Listener
{
/** The serialVersionUID */
@@ -583,6 +588,15 @@
}
}
+ /**
+ * The implication configure properly the page security for default access.
+ */
+ public void pageCreated(Page page)
+ {
+ Set constraints = Collections.singleton(new
RoleSecurityBinding(PortalObjectPermission.VIEW_RECURSIVE_ACTION,
SecurityConstants.UNCHECKED_ROLE_NAME));
+
getDomainConfigurator().setSecurityBindings(page.getId().toString(PortalObjectId.CANONICAL_FORMAT),
constraints);
+ }
+
public class PortalObjectAuthorizationBean extends AbstractAuthorizationBean
{
Modified:
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/actions/AddPageAction.java
===================================================================
---
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/actions/AddPageAction.java 2007-03-15
13:10:28 UTC (rev 6682)
+++
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/actions/AddPageAction.java 2007-03-15
13:11:00 UTC (rev 6683)
@@ -24,17 +24,10 @@
import org.jboss.portal.core.model.portal.PageContainer;
import org.jboss.portal.core.model.portal.Page;
-import org.jboss.portal.core.model.portal.PortalObjectPermission;
-import org.jboss.portal.core.model.portal.PortalObjectId;
-import org.jboss.portal.security.spi.provider.DomainConfigurator;
-import org.jboss.portal.security.RoleSecurityBinding;
-import org.jboss.portal.security.SecurityConstants;
import org.apache.log4j.Logger;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
-import java.util.Set;
-import java.util.Collections;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -61,9 +54,6 @@
/** The page container that will create the child. */
public PageContainer pageContainer;
- /** The domain configurator for security. */
- public DomainConfigurator domainConfigurator;
-
/** The page name to create. */
public String pageName;
@@ -105,10 +95,6 @@
Page page = pageContainer.createPage(pageName);
//
- Set constraints = Collections.singleton(new
RoleSecurityBinding(PortalObjectPermission.VIEW_RECURSIVE_ACTION,
SecurityConstants.UNCHECKED_ROLE_NAME));
-
domainConfigurator.setSecurityBindings(page.getId().toString(PortalObjectId.CANONICAL_FORMAT),
constraints);
-
- //
if (listener != null)
{
listener.pageCreated(page);
Modified:
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/dashboard/DashboardBean.java
===================================================================
---
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/dashboard/DashboardBean.java 2007-03-15
13:10:28 UTC (rev 6682)
+++
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/dashboard/DashboardBean.java 2007-03-15
13:11:00 UTC (rev 6683)
@@ -94,6 +94,7 @@
public void pageCreated(Page page)
{
+ // Select page to show
selectedPageName = page.getName();
}
Modified: trunk/core-admin/src/resources/portal-admin-war/WEB-INF/faces-config.xml
===================================================================
--- trunk/core-admin/src/resources/portal-admin-war/WEB-INF/faces-config.xml 2007-03-15
13:10:28 UTC (rev 6682)
+++ trunk/core-admin/src/resources/portal-admin-war/WEB-INF/faces-config.xml 2007-03-15
13:11:00 UTC (rev 6683)
@@ -94,13 +94,13 @@
<value>#{portalobjectmgr.selectedObject}</value>
</managed-property>
<managed-property>
- <property-name>domainConfigurator</property-name>
-
<value>#{applicationScope.AuthorizationDomainRegistry.portalobject.configurator}</value>
- </managed-property>
- <managed-property>
<property-name>messageTarget</property-name>
<value>addPageForm:pageName</value>
</managed-property>
+ <managed-property>
+ <property-name>listener</property-name>
+ <value>#{sessionScope.dashboard}</value>
+ </managed-property>
</managed-bean>
<managed-bean>
<managed-bean-name>themePropertyAction</managed-bean-name>
@@ -250,10 +250,6 @@
<value>#{sessionScope.dashboard.userPortal}</value>
</managed-property>
<managed-property>
- <property-name>domainConfigurator</property-name>
-
<value>#{applicationScope.AuthorizationDomainRegistry.portalobject.configurator}</value>
- </managed-property>
- <managed-property>
<property-name>messageTarget</property-name>
<value>error</value>
</managed-property>