0 Replies Latest reply on Dec 10, 2009 3:57 PM by sebastien jaussaud

    Security constraint on dashboard/template

    sebastien jaussaud Newbie

      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