[jboss-cvs] jboss-seam/examples/wiki/src/etc/WEB-INF ...

Christian Bauer christian at hibernate.org
Sun Mar 18 11:44:39 EDT 2007


  User: cbauer  
  Date: 07/03/18 11:44:39

  Modified:    examples/wiki/src/etc/WEB-INF    pages.xml web.xml
                        components.xml
  Log:
  Basic access level/role security, automatic home page for activated users
  
  Revision  Changes    Path
  1.5       +35 -18    jboss-seam/examples/wiki/src/etc/WEB-INF/pages.xml
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: pages.xml
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/etc/WEB-INF/pages.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -b -r1.4 -r1.5
  --- pages.xml	9 Mar 2007 08:02:09 -0000	1.4
  +++ pages.xml	18 Mar 2007 15:44:39 -0000	1.5
  @@ -56,10 +56,8 @@
   
       </page>
   
  -    <page view-id="/docEdit.xhtml" login-required="true" >
  -        <description>Edit Document '#{documentHome.instance.name}'</description>
  -
  -        <restrict/>
  +    <page view-id="/docEdit.xhtml">
  +        <description>Edit Document</description>
   
           <navigation from-action="#{documentHome.remove}">
               <end-conversation/>
  @@ -80,7 +78,7 @@
   
       </page>
   
  -    <page view-id="/docHistory.xhtml" login-required="false">
  +    <page view-id="/docHistory.xhtml">
           <description>Document History '#{currentNode.name}'</description>
   
           <navigation>
  @@ -138,9 +136,8 @@
   
       </page>
   
  -    <page view-id="/dirEdit.xhtml" login-required="true">
  -        <description>Edit Directory '#{directoryHome.instance.name}'</description>
  -        <restrict/>
  +    <page view-id="/dirEdit.xhtml">
  +        <description>Edit Directory</description>
   
           <navigation from-action="#{directoryHome.remove}">
               <rule>
  @@ -153,9 +150,8 @@
   
       </page>
   
  -    <page view-id="/fileEdit.xhtml" login-required="true">
  -        <description>Edit File '#{fileHome.instance.name}'</description>
  -        <restrict/>
  +    <page view-id="/fileEdit.xhtml">
  +        <description>Edit File</description>
   
           <!-- TODO: If this is a nested conversation we really want to exit to the parent view after persist(),
                e.g. editDoc -> uploadFile -> editDoc instead of currently editDoc -> uploadFile -> dirDisplay
  @@ -187,7 +183,18 @@
       <!-- Global actions -->
   
       <page view-id="/*">
  +
           <navigation>
  +
  +            <!-- Not perfect, but we need to force some re-rendering of the view when users log in or out -->
  +            <rule if-outcome="loggedIn">
  +                <redirect view-id="/display.xhtml"/>
  +            </rule>
  +            <rule if-outcome="loggedOut">
  +                <end-conversation/>
  +                <redirect view-id="/display.xhtml"/>
  +            </rule>
  +
               <rule if-outcome="register">
                   <!-- TODO: I don't want to join, I want a new parallel root conversation: http://jira.jboss.com/jira/browse/JBSEAM-944 -->
                   <begin-conversation join="true" flush-mode="MANUAL"/>
  @@ -197,25 +204,25 @@
                   <!-- TODO: I don't want to join, I want a new parallel root conversation: http://jira.jboss.com/jira/browse/JBSEAM-944 -->
                   <begin-conversation join="true" flush-mode="MANUAL"/>
                   <redirect view-id="/userProfile.xhtml">
  -                    <param name="userId" value="#{authenticatedUser.id}"/>
  +                    <param name="userId" value="#{currentUser.id}"/>
                   </redirect>
               </rule>
               <rule if-outcome="editAccount">
                   <begin-conversation join="true" flush-mode="MANUAL"/>
                   <redirect view-id="/userAccount.xhtml">
  -                    <param name="userId" value="#{authenticatedUser.id}"/>
  +                    <param name="userId" value="#{currentUser.id}"/>
                   </redirect>
               </rule>
               <rule if-outcome="editProfile">
                   <begin-conversation join="true" flush-mode="MANUAL"/>
                   <redirect view-id="/userProfile.xhtml">
  -                    <param name="userId" value="#{authenticatedUser.id}"/>
  +                    <param name="userId" value="#{currentUser.id}"/>
                   </redirect>
               </rule>
               <rule if-outcome="editPreferences">
                   <begin-conversation join="true" flush-mode="MANUAL"/>
                   <redirect view-id="/userPrefs.xhtml">
  -                    <param name="userId" value="#{authenticatedUser.id}"/>
  +                    <param name="userId" value="#{currentUser.id}"/>
                   </redirect>
               </rule>
               <rule if-outcome="listUsers">
  @@ -238,8 +245,9 @@
       <page view-id="/confirmRegistration.xhtml" action="#{authenticator.activate}">
           <navigation>
               <rule if-outcome="activated">
  -                <redirect view-id="/message.xhtml">
  -                    <message severity="INFO">Your account has been activated, please log in.</message>
  +                <redirect view-id="/display.xhtml">
  +                    <param name="nodeId" value="#{activatedUser.memberHome.id}"/>
  +                    <message severity="INFO">Your account has been activated, this is your new home page. Login to edit this page.</message>
                   </redirect>
               </rule>
               <rule if-outcome="notFound">
  @@ -259,9 +267,18 @@
       <exception class="org.jboss.seam.security.AuthorizationException">
           <end-conversation/>
           <redirect view-id="/permissionError.xhtml">
  -            <message severity="WARN">You do not have permission for this operation</message>
  +            <message severity="WARN">Access Denied: #{org.jboss.seam.handledException.message}</message>
  +        </redirect>
  +    </exception>
  +
  +    <!-- Catch all
  +    <exception>
  +        <end-conversation/>
  +        <redirect view-id="/message.xhtml">
  +            <message severity="ERROR">#{org.jboss.seam.handledException.message}</message>
           </redirect>
       </exception>
  +     -->
   
   </pages>
   
  
  
  
  1.3       +29 -23    jboss-seam/examples/wiki/src/etc/WEB-INF/web.xml
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: web.xml
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/etc/WEB-INF/web.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- web.xml	16 Mar 2007 05:47:19 -0000	1.2
  +++ web.xml	18 Mar 2007 15:44:39 -0000	1.3
  @@ -22,6 +22,11 @@
           <param-value>org.jboss.seam.ui.facelet.SeamFaceletViewHandler</param-value>
       </context-param>
       
  +    <context-param>
  +        <param-name>org.ajax4jsf.SKIN</param-name>
  +        <param-value>wiki</param-value>
  +    </context-param>
  +
       <!-- Seam -->
       
      <listener>
  @@ -77,7 +82,7 @@
      
      <context-param>
         <param-name>facelets.DEVELOPMENT</param-name>
  -      <param-value>true</param-value>
  +      <param-value>false</param-value>
      </context-param>
       
      <!-- JSF -->
  @@ -129,4 +134,5 @@
           <session-timeout>10</session-timeout> 
       </session-config> 
   
  +
   </web-app>
  
  
  
  1.3       +64 -31    jboss-seam/examples/wiki/src/etc/WEB-INF/components.xml
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: components.xml
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/etc/WEB-INF/components.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- components.xml	16 Mar 2007 05:42:58 -0000	1.2
  +++ components.xml	18 Mar 2007 15:44:39 -0000	1.3
  @@ -20,8 +20,10 @@
                  scope="application" auto-create="true">
   
           <property name="baseURL">http://www.seamframework.org/wiki</property>
  -        <property name="defaultURLRendering">PERMLINK</property>
  +        <property name="defaultURLRendering">WIKILINK</property>
           <property name="permlinkSuffix">.html</property>
  +        <property name="defaultDocumentId">5</property>
  +        <property name="memberAreaId">12</property>
           <property name="themeName">default</property>
           <property name="newUserInRole">member</property>
           <property name="passwordRegex">^[0-9A-Za-z]{6,15}</property>
  @@ -40,34 +42,65 @@
   
      <core:init debug="false" jndi-pattern="@jndiPattern@"/>
        
  -   <core:manager concurrent-request-timeout="60000" 
  +    <core:manager concurrent-request-timeout="500"
                    conversation-timeout="120000" 
                    conversation-id-parameter="cid" 
                    conversation-is-long-running-parameter="clr"/>
       
  +    <core:filter name="accessLevelFilter">
  +        <core:name>accessLevelFilter</core:name>
  +        <core:parameters>
  +            <key>currentAccessLevel</key>
  +            <value>#{currentAccessLevel}</value>
  +        </core:parameters>
  +    </core:filter>
  +
  +    <core:managed-persistence-context name="restrictedEntityManager"
  +                                      auto-create="true"
  +                                      entity-manager-factory="#{wikiEntityManagerFactory}">
  +        <core:filters><value>#{accessLevelFilter}</value></core:filters>
  +    </core:managed-persistence-context>
  +
      <core:managed-persistence-context name="entityManager"
                                 auto-create="true"
  -                   entity-manager-factory="#{wikiEntityManagerFactory}"/>
  +                                      entity-manager-factory="#{wikiEntityManagerFactory}">
  +    </core:managed-persistence-context>
   
  -   <core:entity-manager-factory name="wikiEntityManagerFactory" 
  -               persistence-unit-name="wiki"/>
  +    <core:entity-manager-factory name="wikiEntityManagerFactory" persistence-unit-name="wiki"/>
      
      <core:ejb installed="@embeddedEjb@"/>
       
  +    <component name="restrictedEntityConverter" scope="CONVERSATION" precedence="20"
  +               class="org.jboss.seam.ui.EntityConverter">
  +        <property name="entityManager">#{restrictedEntityManager}</property>
  +    </component>
  +
  +    <component name="entityConverter" scope="CONVERSATION" precedence="20"
  +               class="org.jboss.seam.ui.EntityConverter">
  +        <property name="entityManager">#{entityManager}</property>
  +    </component>
  +
       <!-- Login and security -->
   
  +    <!-- Rules is too broken
      <drools:rule-base name="securityRules">
  -       <drools:rule-files><value>/security.drl</value></drools:rule-files>
  +        <drools:rule-files>
  +            <value>/security.drl</value>
  +        </drools:rule-files>
      </drools:rule-base>
   
      <security:identity authenticate-method="#{authenticator.authenticate}"
                              security-rules="#{securityRules}"
                                 remember-me="false"/>
  +   -->
  +    <security:identity authenticate-method="#{authenticator.authenticate}"
  +                       remember-me="false"/>
                                 
      <!-- Misc Settings -->
      <web:context-filter url-pattern="/files/*"/>
   
  -   <factory name="themePath" value="#{facesContext.externalContext.request.contextPath}/themes/#{globalPrefs.themeName}"/>
  +    <factory name="themePath"
  +             value="#{facesContext.externalContext.request.contextPath}/themes/#{globalPrefs.themeName}"/>
   
         
   </components>
  \ No newline at end of file
  
  
  



More information about the jboss-cvs-commits mailing list