[jboss-user] [JBoss Portal Users] - Security constraint on dashboard/template

sebjau do-not-reply at jboss.com
Thu Dec 10 15:57:48 EST 2009


Hello,
i 've a question about security constraint on jboss portal 2.7.1 with dashboard
I want to give permission for user to view pages with role on dashboard.
Example :
I've a dashboard template with :
default page with uncheked role 
page 1 with R1 role
page 2 with R2 role



The default-object.xml section for dashboard :

 
  | 
  | 		<portal>
  | 			<portal-name>template</portal-name>
  | 			<supported-modes>
  | 				<mode>view</mode>
  | 				<mode>edit</mode>
  | 				<mode>help</mode>
  | 			</supported-modes>
  | 			<supported-window-states>
  | 				<window-state>normal</window-state>
  | 				<window-state>minimized</window-state>
  | 				<window-state>maximized</window-state>
  | 			</supported-window-states>
  | 			<security-constraint>
  | 				<policy-permission>
  | 					<action-name>view</action-name>
  | 					<unchecked />
  | 				</policy-permission>
  | 			</security-constraint>
  | 			<page>
  | 				<page-name>default</page-name>
  | 				<display-name xml:lang="en">Home</display-name>
  | 				<properties>
  | 					<property>
  | 						<name>order</name>
  | 						<value>1</value>
  | 					</property>
  | 				</properties>
  | 				<window>
  | 					<window-name>JSPPortletWindow</window-name>
  | 					<instance-ref>JSPPortletInstance</instance-ref>
  | 					<region>left</region>
  | 					<height>0</height>
  | 				</window>
  | 				<security-constraint>
  | 					<policy-permission>
  | 						<action-name>viewrecursive</action-name>
  | 						<unchecked />
  | 					</policy-permission>
  | 				</security-constraint>
  | 			</page>
  | 			<page>
  | 				<page-name>p1</page-name>
  | 				<display-name xml:lang="en">Page 1</display-name>
  | 				<properties>
  | 					<property>
  | 						<name>order</name>
  | 						<value>1</value>
  | 					</property>
  | 				</properties>
  | 				<window>
  | 					<window-name>JSPPortletWindow</window-name>
  | 					<instance-ref>JSPPortletInstance</instance-ref>
  | 					<region>left</region>
  | 					<height>0</height>
  | 				</window>
  | 				<security-constraint>
  | 					<policy-permission>
  | 						<action-name>viewrecursive</action-name>
  | 						<role-name>R1</role-name>
  | 					</policy-permission>
  | 				</security-constraint>
  | 			</page>
  | 			<page>
  | 				<page-name>p2</page-name>
  | 				<display-name xml:lang="en">Page 2</display-name>
  | 				<properties>
  | 					<property>
  | 						<name>order</name>
  | 						<value>2</value>
  | 					</property>
  | 				</properties>
  | 				<window>
  | 					<window-name>JSPPortletWindow</window-name>
  | 					<instance-ref>JSPPortletInstance</instance-ref>
  | 					<region>left</region>
  | 					<height>0</height>
  | 				</window>
  | 				<security-constraint>
  | 					<policy-permission>
  | 						<action-name>viewrecursive</action-name>
  | 						<role-name>R2</role-name>
  | 					</policy-permission>
  | 				</security-constraint>
  | 			</page>
  | 
  | 
  | 		</portal>
  | 


When i start the portal for the first time i've an error for dashboard :


  | javax.servlet.ServletException: java.lang.NullPointerException
  | 	org.jboss.portal.server.servlet.PortalServlet.service(PortalServlet.java:278)
  | 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
  | 	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  | cause mère
  | 
  | java.lang.NullPointerException
  | 	org.jboss.portal.core.impl.model.CustomizationManagerService.copy(CustomizationManagerService.java:320)
  | 	org.jboss.portal.core.impl.model.CustomizationManagerService.copy(CustomizationManagerService.java:320)
  | 	org.jboss.portal.core.impl.model.CustomizationManagerService.getDashboard(CustomizationManagerService.java:291)
  | 	org.jboss.portal.core.aspects.controller.PageCustomizerInterceptor.injectDashboardNav(PageCustomizerInterceptor.java:254)
  | 	org.jboss.portal.core.aspects.controller.PageCustomizerInterceptor.invoke(PageCustomizerInterceptor.java:165)
  | 	org.jboss.portal.core.controller.ControllerInterceptor.invoke(ControllerInterceptor.java:40)
  | 	org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
  | 	org.jboss.portal.core.aspects.controller.PolicyEnforcementInterceptor.invoke(PolicyEnforcementInterceptor.java:78)
  | 	org.jboss.portal.core.controller.ControllerInterceptor.invoke(ControllerInterceptor.java:40)
  | 	org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
  | 	org.jboss.portal.core.aspects.controller.node.PortalNodeInterceptor.invoke(PortalNodeInterceptor.java:81)
  | 	org.jboss.portal.core.controller.ControllerInterceptor.invoke(ControllerInterceptor.java:40)
  | 	org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
  | 	org.jboss.portal.core.aspects.controller.BackwardCompatibilityInterceptor.invoke(BackwardCompatibilityInterceptor.java:48)
  | 	org.jboss.portal.core.controller.ControllerInterceptor.invoke(ControllerInterceptor.java:40)
  | 	org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
  | 	org.jboss.portal.core.aspects.controller.ControlInterceptor.invoke(ControlInterceptor.java:56)
  | 	org.jboss.portal.core.controller.ControllerInterceptor.invoke(ControllerInterceptor.java:40)
  | 	org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
  | 	org.jboss.portal.core.aspects.controller.NavigationalStateInterceptor.invoke(NavigationalStateInterceptor.java:42)
  | 	org.jboss.portal.core.controller.ControllerInterceptor.invoke(ControllerInterceptor.java:40)
  | 	org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
  | 	org.jboss.portal.core.controller.ajax.AjaxInterceptor.invoke(AjaxInterceptor.java:55)
  | 	org.jboss.portal.core.controller.ControllerInterceptor.invoke(ControllerInterceptor.java:40)
  | 	org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
  | 	org.jboss.portal.core.aspects.controller.ResourceAcquisitionInterceptor.invoke(ResourceAcquisitionInterceptor.java:50)
  | 	org.jboss.portal.core.controller.ControllerInterceptor.invoke(ControllerInterceptor.java:40)
  | 	org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
  | 	org.jboss.portal.common.invocation.Invocation.invoke(Invocation.java:157)
  | 	org.jboss.portal.core.controller.ControllerContext.execute(ControllerContext.java:134)
  | 	org.jboss.portal.core.model.portal.PortalObjectResponseHandler.processCommandResponse(PortalObjectResponseHandler.java:80)
  | 	org.jboss.portal.core.controller.classic.ClassicResponseHandler.processHandlers(ClassicResponseHandler.java:78)
  | 	org.jboss.portal.core.controller.classic.ClassicResponseHandler.processCommandResponse(ClassicResponseHandler.java:53)
  | 	org.jboss.portal.core.controller.handler.ResponseHandlerSelector.processCommandResponse(ResponseHandlerSelector.java:70)
  | 	org.jboss.portal.core.controller.Controller.processCommandResponse(Controller.java:315)
  | 	org.jboss.portal.core.controller.Controller.processCommand(Controller.java:303)
  | 	org.jboss.portal.core.controller.Controller.handle(Controller.java:261)
  | 	org.jboss.portal.server.RequestControllerDispatcher.invoke(RequestControllerDispatcher.java:51)
  | 	org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:131)
  | 	org.jboss.portal.core.cms.aspect.IdentityBindingInterceptor.invoke(IdentityBindingInterceptor.java:47)
  | 	org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
  | 	org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
  | 	org.jboss.portal.server.aspects.server.ContentTypeInterceptor.invoke(ContentTypeInterceptor.java:68)
  | 	org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
  | 	org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
  | 	org.jboss.portal.core.aspects.server.PortalContextPathInterceptor.invoke(PortalContextPathInterceptor.java:45)
  | 	org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
  | 	org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
  | 	org.jboss.portal.core.aspects.server.LocaleInterceptor.invoke(LocaleInterceptor.java:96)
  | 	org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
  | 	org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
  | 	org.jboss.portal.core.aspects.server.UserInterceptor.invoke(UserInterceptor.java:196)
  | 	org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
  | 	org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
  | 	org.jboss.portal.server.aspects.server.SignOutInterceptor.invoke(SignOutInterceptor.java:98)
  | 	org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
  | 	org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
  | 	org.jboss.portal.core.impl.api.user.UserEventBridgeTriggerInterceptor.invoke(UserEventBridgeTriggerInterceptor.java:65)
  | 	org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
  | 	org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
  | 	org.jboss.portal.core.aspects.server.IdentityCacheInterceptor.invoke(IdentityCacheInterceptor.java:68)
  | 	org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
  | 	org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
  | 	org.jboss.portal.core.aspects.server.TransactionInterceptor.org$jboss$portal$core$aspects$server$TransactionInterceptor$invoke$aop(TransactionInterceptor.java:49)
  | 	org.jboss.portal.core.aspects.server.TransactionInterceptor$invoke_N5143606530999904530.invokeNext(TransactionInterceptor$invoke_N5143606530999904530.java)
  | 	org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
  | 	org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:253)
  | 	org.jboss.portal.core.aspects.server.TransactionInterceptor$invoke_N5143606530999904530.invokeNext(TransactionInterceptor$invoke_N5143606530999904530.java)
  | 	org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
  | 	org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:262)
  | 	org.jboss.portal.core.aspects.server.TransactionInterceptor$invoke_N5143606530999904530.invokeNext(TransactionInterceptor$invoke_N5143606530999904530.java)
  | 	org.jboss.portal.core.aspects.server.TransactionInterceptor.invoke(TransactionInterceptor.java)
  | 	org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
  | 	org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
  | 	org.jboss.portal.server.aspects.LockInterceptor$InternalLock.invoke(LockInterceptor.java:69)
  | 	org.jboss.portal.server.aspects.LockInterceptor.invoke(LockInterceptor.java:130)
  | 	org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
  | 	org.jboss.portal.common.invocation.Invocation.invoke(Invocation.java:157)
  | 	org.jboss.portal.server.servlet.PortalServlet.service(PortalServlet.java:252)
  | 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
  | 	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  | 
  | 

I not found where is my error for security constraint.
Thank 's for your responses

Seb

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4270079#4270079

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4270079




More information about the jboss-user mailing list