[jboss-cvs] jboss-seam/examples/wiki/resources/WEB-INF ...
Christian Bauer
christian.bauer at jboss.com
Wed Feb 21 11:24:10 EST 2007
User: cbauer
Date: 07/02/21 11:24:10
Modified: examples/wiki/resources/WEB-INF faces-config.xml
pages.xml components.xml web.xml
Log:
User registration/login and some security
JBSEAM-870
JBSEAM-871
JBSEAM-874
Revision Changes Path
1.2 +9 -7 jboss-seam/examples/wiki/resources/WEB-INF/faces-config.xml
(In the diff below, changes in quantity of whitespace are not shown.)
Index: faces-config.xml
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/resources/WEB-INF/faces-config.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- faces-config.xml 1 Feb 2007 07:08:27 -0000 1.1
+++ faces-config.xml 21 Feb 2007 16:24:10 -0000 1.2
@@ -10,6 +10,7 @@
<view-handler>org.jboss.seam.ui.facelet.SeamFaceletViewHandler</view-handler>
</application>
+ <!-- Why do I have to define this here again? It's already in wiki.taglib.xml! -->
<component>
<component-type>org.jboss.seam.wiki.core.ui.UIWikiFormattedText</component-type>
<component-class>org.jboss.seam.wiki.core.ui.UIWikiFormattedText</component-class>
@@ -17,6 +18,14 @@
<property-name>value</property-name>
<property-class>java.lang.String</property-class>
</property>
+ <property>
+ <property-name>linkStyleClass</property-name>
+ <property-class>java.lang.String</property-class>
+ </property>
+ <property>
+ <property-name>brokenLinkStyleClass</property-name>
+ <property-class>java.lang.String</property-class>
+ </property>
</component>
<!-- Seam transaction management -->
@@ -24,11 +33,4 @@
<phase-listener>org.jboss.seam.jsf.TransactionalSeamPhaseListener</phase-listener>
</lifecycle>
- <!-- No Seam transaction management -->
- <!--
- <lifecycle>
- <phase-listener>org.jboss.seam.jsf.SeamPhaseListener</phase-listener>
- </lifecycle>
- -->
-
</faces-config>
1.3 +62 -4 jboss-seam/examples/wiki/resources/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/resources/WEB-INF/pages.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- pages.xml 16 Feb 2007 16:26:45 -0000 1.2
+++ pages.xml 21 Feb 2007 16:24:10 -0000 1.3
@@ -1,11 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pages PUBLIC "-//Seam/Seam Pages DTD 1.1//EN" "http://jboss.com/products/seam/pages-1.1.dtd">
-<pages>
+<pages login-view-id="/loginRequired.xhtml">
<page view-id="/display.xhtml" action="#{browser.prepare()}">
<param name="nodeId" value="#{browser.nodeId}"/>
+ <end-conversation/>
+
<navigation>
<rule if="#{!empty currentDocument}">
<render view-id="/docDisplay.xhtml"/>
@@ -19,6 +21,8 @@
<page view-id="/docDisplay.xhtml" action="#{browser.prepare()}">
<param name="nodeId" value="#{browser.nodeId}"/>
+ <end-conversation/>
+
<navigation>
<rule if-outcome="createDoc">
<redirect view-id="/docEdit.xhtml">
@@ -38,7 +42,8 @@
</page>
- <page view-id="/docEdit.xhtml">
+ <page view-id="/docEdit.xhtml" login-required="true">
+ <restrict/>
<navigation from-action="#{documentHome.remove}">
<end-conversation/>
<redirect view-id="/display.xhtml">
@@ -50,6 +55,8 @@
<page view-id="/dirDisplay.xhtml" action="#{browser.prepare()}">
<param name="nodeId" value="#{browser.nodeId}"/>
+ <end-conversation/>
+
<navigation>
<rule if-outcome="createDir">
<redirect view-id="/dirEdit.xhtml">
@@ -70,8 +77,8 @@
</page>
- <page view-id="/dirEdit.xhtml">
-
+ <page view-id="/dirEdit.xhtml" login-required="true">
+ <restrict/>
<navigation from-action="#{directoryHome.remove}">
<rule if="#{!empty directoryHome.parentDirectory}">
<end-conversation/>
@@ -89,6 +96,57 @@
</page>
+ <!-- Global actions -->
+
+ <page view-id="/*">
+ <navigation>
+ <rule if-outcome="register">
+ <redirect view-id="/profile.xhtml"/>
+ </rule>
+ <rule if-outcome="editMyProfile">
+ <redirect view-id="/profile.xhtml">
+ <param name="userId" value="#{authenticatedUser.id}"/>
+ </redirect>
+ </rule>
+
+ <rule if-outcome="error">
+ <redirect view-id="/blank.xhtml">
+ <message severity="ERROR">An unrecoverable error occured!</message>
+ </redirect>
+ </rule>
+ </navigation>
+
+ </page>
+
+ <!-- Special pages -->
+
+ <page view-id="/confirmRegistration.xhtml" action="#{authenticator.activate()}">
+ <navigation>
+ <rule if-outcome="activated">
+ <redirect view-id="/blank.xhtml">
+ <message severity="INFO">Your account has been activated, please log in.</message>
+ </redirect>
+ </rule>
+ <rule if-outcome="notFound">
+ <redirect view-id="/blank.xhtml">
+ <message severity="ERROR">Your activation code is invalid.</message>
+ </redirect>
+ </rule>
+ </navigation>
+ </page>
+
+ <!-- These effectively "block" the user from navigating forward, he stays on the last browsed page and
+ gets an error message. -->
+ <page view-id="/loginRequired.xhtml" action="#{browser.redirectToLastBrowsedPageWithConversation()}"/>
+ <page view-id="/permissionError.xhtml" action="#{browser.redirectToLastBrowsedPageWithConversation()}"/>
+
+ <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>
+ </redirect>
+ </exception>
+
</pages>
1.3 +36 -11 jboss-seam/examples/wiki/resources/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/resources/WEB-INF/components.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- components.xml 16 Feb 2007 16:26:45 -0000 1.2
+++ components.xml 21 Feb 2007 16:24:10 -0000 1.3
@@ -1,11 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<components xmlns="http://jboss.com/products/seam/components"
xmlns:core="http://jboss.com/products/seam/core"
+ xmlns:security="http://jboss.com/products/seam/security"
+ xmlns:drools="http://jboss.com/products/seam/drools"
+ xmlns:web="http://jboss.com/products/seam/web"
+ xmlns:mail="http://jboss.com/products/seam/mail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://jboss.com/products/seam/core http://jboss.com/products/seam/core-1.1.xsd
+ http://jboss.com/products/seam/security http://jboss.com/products/seam/security-1.1.xsd
+ http://jboss.com/products/seam/web http://jboss.com/products/seam/web-1.1.xsd
+ http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-1.1.xsd
+ http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-1.1.xsd
http://jboss.com/products/seam/components http://jboss.com/products/seam/components-1.1.xsd">
+ <!-- ##### WIKI USER CONFIGURATION ##### -->
+
+ <component name="globalPrefs" class="org.jboss.seam.wiki.core.prefs.GlobalPreferences"
+ scope="application" auto-create="true">
+
+ <property name="baseURL">http://www.seamframework.org/wiki</property>
+ <property name="defaultURLRendering">PERMLINK</property>
+ <property name="permlinkSuffix">.html</property>
+ <property name="themeName">default</property>
+ <property name="newUserInRole">member</property>
+ <property name="passwordRegex">^[0-9A-Za-z]{6,15}</property>
+ <property name="activationCodeSalt">MySecretSalt123</property>
+
+ </component>
+
+ <mail:mail-session host="mail.bluewin.ch" port="25"/>
+
+ <!-- ##### END OF WIKI USER CONFIGURATION ##### -->
+
<core:init debug="false" jndi-pattern="@jndiPattern@"/>
<core:manager concurrent-request-timeout="500"
@@ -14,22 +41,20 @@
conversation-is-long-running-parameter="clr"/>
<core:managed-persistence-context name="entityManager"
- persistence-unit-jndi-name="java:/wikiEntityManagerFactory"/>
+ persistence-unit-jndi-name="java:/wikiEntityManagerFactory"
+ auto-create="true"/>
<core:ejb installed="@embeddedEjb@"/>
- <!-- ##### WIKI CONFIGURATION ##### -->
-
- <component name="globalPrefs" class="org.jboss.seam.wiki.core.prefs.GlobalPreferences"
- scope="application" auto-create="true">
+ <!-- Login and security -->
- <property name="defaultURLRendering">WIKILINK</property>
- <property name="permlinkSuffix">.html</property>
- <property name="themeName">default</property>
+ <security:rule-based-identity authenticate-method="#{authenticator.authenticate}"/>
- </component>
+ <drools:rule-base name="securityRules">
+ <drools:rule-files><value>/META-INF/security-rules.drl</value></drools:rule-files>
+ </drools:rule-base>
- <!-- ##### END OF CONFIGURATION ##### -->
+ <!-- Misc application settings -->
<factory name="themePath" value="#{facesContext.externalContext.request.contextPath}/themes/#{globalPrefs.themeName}"/>
1.3 +10 -0 jboss-seam/examples/wiki/resources/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/resources/WEB-INF/web.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- web.xml 20 Feb 2007 15:11:11 -0000 1.2
+++ web.xml 21 Feb 2007 16:24:10 -0000 1.3
@@ -58,6 +58,16 @@
<url-pattern>/seam/resource/*</url-pattern>
</servlet-mapping>
+ <servlet>
+ <servlet-name>Seam Resource Servlet</servlet-name>
+ <servlet-class>org.jboss.seam.servlet.ResourceServlet</servlet-class>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>Seam Resource Servlet</servlet-name>
+ <url-pattern>/seam/resource/*</url-pattern>
+ </servlet-mapping>
+
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
More information about the jboss-cvs-commits
mailing list