| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <!-- CVS: $Id$ --> |
| |
| <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> |
| |
| <!-- ========================= Components ============================== --> |
| <map:components> |
| <map:actions> |
| <map:action name="db-authenticator" |
| src="org.apache.cocoon.acting.DatabaseAuthenticatorAction"/> |
| </map:actions> |
| </map:components> |
| |
| <map:views> |
| <map:view name="content" from-label="content"> |
| <map:serialize type="xml"/> |
| </map:view> |
| |
| <map:view from-label="content" name="pretty-content"> |
| <map:transform src="context://stylesheets/system/xml2html.xslt"/> |
| <map:serialize type="html"/> |
| </map:view> |
| |
| <map:view name="links" from-position="last"> |
| <map:serialize type="links"/> |
| </map:view> |
| </map:views> |
| |
| <!-- ======================= Pipelines ================================= --> |
| <map:pipelines> |
| <map:pipeline> |
| |
| <map:match pattern="descriptors/*.xml"> |
| <map:generate src="{0}"/> |
| <map:serialize type="xml"/> |
| </map:match> |
| |
| <map:match pattern=""> |
| <map:redirect-to uri="page"/> |
| </map:match> |
| |
| <!-- ================= --> |
| <!-- Simple login page --> |
| <!-- ================= --> |
| <map:match pattern="login"> |
| <map:generate src="docs/login.xml"/> |
| <map:transform src="stylesheets/simple-page2html.xsl"> |
| <map:parameter name="servletPath" value="{request:servletPath}"/> |
| <map:parameter name="sitemapURI" value="{request:sitemapURI}"/> |
| <map:parameter name="contextPath" value="{request:contextPath}"/> |
| <map:parameter name="file" value="docs/login.xml"/> |
| <map:parameter name="remove" value="{0}"/> |
| </map:transform> |
| <map:serialize/> |
| </map:match> |
| |
| <!-- ========================================= --> |
| <!-- Form target which performs auth service --> |
| <!-- ========================================= --> |
| <map:match pattern="do-login"> |
| <!-- first validate whether submitted values are ok --> |
| <map:act type="form-validator"> |
| <map:parameter name="descriptor" value="descriptors/params.xml"/> |
| <map:parameter name="validate" value="username"/> |
| <!-- now try to log in --> |
| <map:act type="db-authenticator"> |
| <map:parameter name="descriptor" value="descriptors/auth.xml"/> |
| <!-- now go to protected area --> |
| <map:redirect-to uri="page"/> |
| </map:act> |
| </map:act> |
| <!-- something was wrong, try it again --> |
| <map:redirect-to uri="login"/> |
| </map:match> |
| |
| <!-- ================ --> |
| <!-- Protected area --> |
| <!-- ================ --> |
| <map:match pattern="page"> |
| <!-- first validate whether user has logged in --> |
| <map:act type="session-validator"> |
| <map:parameter name="descriptor" value="descriptors/params.xml"/> |
| <map:parameter name="validate" value="username,department_id,theme"/> |
| <!-- generate protected content --> |
| <map:generate type="jx" src="docs/protected.xml"> |
| <map:parameter name="username" value="{session-attr:username}"/> |
| <map:parameter name="department_id" value="{session-attr:department_id}"/> |
| <map:parameter name="theme" value="{session-attr:theme}"/> |
| </map:generate> |
| <map:transform src="stylesheets/{theme}-page2html.xsl"> |
| <map:parameter name="servletPath" value="{request:servletPath}"/> |
| <map:parameter name="sitemapURI" value="{request:sitemapURI}"/> |
| <map:parameter name="contextPath" value="{request:contextPath}"/> |
| <map:parameter name="file" value="docs/protected.xsp"/> |
| <map:parameter name="remove" value="{../0}"/> |
| </map:transform> |
| <map:serialize/> |
| </map:act> |
| <!-- something was wrong, redirect to login page --> |
| <map:redirect-to uri="login"/> |
| </map:match> |
| |
| <!-- ========================================= --> |
| <!-- Logout link which invalidates the session --> |
| <!-- ========================================= --> |
| <map:match pattern="do-logout"> |
| <map:act type="session-invalidator"> |
| <map:redirect-to uri="login"/> |
| </map:act> |
| </map:match> |
| |
| </map:pipeline> |
| </map:pipelines> |
| </map:sitemap> |
| |
| <!-- end of file --> |
| <!-- vim: set et ts=2 sw=2: --> |