cziegeler 2002/06/13 03:31:23
Modified: src/webapp/docs/samples samples.xml
src/webapp/samples samples.xml
Added: src/webapp/samples/authentication sitemap.xmap
src/webapp/samples/authentication/docs login.xml
protected.xml userlist.xml
src/webapp/samples/authentication/stylesheets
authenticate.xsl simple-page2html.xsl
Log:
Adding a simple authentication sample
Revision Changes Path
1.14 +6 -2 xml-cocoon2/src/webapp/docs/samples/samples.xml
Index: samples.xml
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/webapp/docs/samples/samples.xml,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- samples.xml 3 Jun 2002 11:45:52 -0000 1.13
+++ samples.xml 13 Jun 2002 10:31:23 -0000 1.14
@@ -57,7 +57,11 @@
More ways of implementing dynamic content.
</sample>
- <sample name="Portal & Authentication"
href="samples/portal/sunspotdemoportal">
+ <sample name="Authentication Framework" href="samples/authentication/login">
+ This is a demo of the authentication framework integrated into Cocoon.
+ </sample>
+
+ <sample name="Portal Framework" href="samples/portal/sunspotdemoportal">
This is a demo of the portal framework integrated into Cocoon.
</sample>
1.10 +6 -2 xml-cocoon2/src/webapp/samples/samples.xml
Index: samples.xml
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/webapp/samples/samples.xml,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- samples.xml 3 Jun 2002 11:45:52 -0000 1.9
+++ samples.xml 13 Jun 2002 10:31:23 -0000 1.10
@@ -131,7 +131,11 @@
More ways of implementing dynamic content.
</sample>
- <sample name="Portal & Authentication" href="portal/sunspotdemoportal">
+ <sample name="Authentication Framework" href="authentication/login">
+ This is a demo of the authentication framework integrated into Cocoon.
+ </sample>
+
+ <sample name="Portal Framework" href="portal/sunspotdemoportal">
This is a demo of the portal framework integrated into Cocoon.
</sample>
1.1 xml-cocoon2/src/webapp/samples/authentication/sitemap.xmap
Index: sitemap.xmap
===================================================================
<?xml version="1.0"?>
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
<!-- =========================== Components ================================ -->
<map:components>
<map:generators default="file"/>
<map:transformers default="xslt"/>
<map:serializers default="html"/>
<map:matchers default="wildcard"/>
<map:selectors default="browser"/>
<map:readers default="resource"/>
</map:components>
<!-- =========================== Pipelines ================================= -->
<map:pipelines>
<map:component-configurations>
<authentication-manager>
<handlers>
<handler name="demohandler">
<redirect-to uri="cocoon:/login"/>
<authentication uri="cocoon:raw:/authenticate"/>
</handler>
</handlers>
</authentication-manager>
</map:component-configurations>
<map:pipeline>
<map:match pattern="">
<map:redirect-to uri="login"/>
</map:match>
<!-- ================= -->
<!-- Simple login page -->
<!-- ================= -->
<map:match pattern="login">
<!-- if we are already logged in, redirect to the protected document -->
<map:act type="auth-loggedIn">
<map:parameter name="handler" value="demohandler"/>
<map:redirect-to uri="protected"/>
</map:act>
<map:generate src="docs/login.xml"/>
<map:transform src="stylesheets/simple-page2html.xsl"/>
<map:transform type="encodeURL"/>
<map:serialize/>
</map:match>
<!-- ========================================= -->
<!-- Form target which performs auth service -->
<!-- ========================================= -->
<map:match pattern="do-login">
<!-- try to login -->
<map:act type="auth-login">
<map:parameter name="handler" value="demohandler"/>
<map:parameter name="parameter_name" value="request:username"/>
<map:redirect-to uri="protected"/>
</map:act>
<!-- something was wrong, try it again -->
<map:redirect-to uri="login"/>
</map:match>
<!-- ================ -->
<!-- Protected area -->
<!-- ================ -->
<map:match pattern="protected">
<map:act type="auth-protect">
<map:parameter name="handler" value="demohandler"/>
<map:generate src="docs/protected.xml"/>
<map:transform src="stylesheets/simple-page2html.xsl"/>
<map:transform type="encodeURL"/>
<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="auth-protect">
<map:parameter name="handler" value="demohandler"/>
<map:act type="auth-logout"/>
</map:act>
<map:redirect-to uri="login"/>
</map:match>
</map:pipeline>
<map:pipeline internal-only="true">
<!-- This is the authentication respource -->
<map:match pattern="authenticate">
<map:generate src="docs/userlist.xml"/>
<map:transform src="stylesheets/authenticate.xsl">
<map:parameter name="use-request-parameters"
value="true"/>
</map:transform>
<map:serialize type="xml"/>
</map:match>
</map:pipeline>
</map:pipelines>
</map:sitemap>
1.1 xml-cocoon2/src/webapp/samples/authentication/docs/login.xml
Index: login.xml
===================================================================
<?xml version="1.0"?>
<page>
<title>Login page</title>
<content>
<linkbar/>
<para>
This page serves as an example of the authentication framework.
</para>
<para>Please log in using your name (cocoon will work)</para>
<form target="do-login">
<input type="text" name="username"/>
<input type="submit">Login</input>
</form>
</content>
</page>
1.1 xml-cocoon2/src/webapp/samples/authentication/docs/protected.xml
Index: protected.xml
===================================================================
<?xml version="1.0"?>
<page>
<title>Login page</title>
<content>
<linkbar/>
<para>
This page serves as an example of the authentication framework.
</para>
<para>You're are logged in now, and can read this protected document containing
very important
and secret information.</para>
</content>
</page>
1.1 xml-cocoon2/src/webapp/samples/authentication/docs/userlist.xml
Index: userlist.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- $Id: userlist.xml,v 1.1 2002/06/13 10:31:23 cziegeler Exp $
Description: All users
-->
<authentication>
<users>
<user>
<name>cocoon</name>
</user>
<user>
<name>guest</name>
</user>
</users>
</authentication>
1.1
xml-cocoon2/src/webapp/samples/authentication/stylesheets/authenticate.xsl
Index: authenticate.xsl
===================================================================
<?xml version="1.0"?>
<!-- $Id: authenticate.xsl,v 1.1 2002/06/13 10:31:23 cziegeler Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Get the name from the request paramter -->
<xsl:param name="name"/>
<xsl:template match="authentication">
<authentication>
<xsl:apply-templates select="users"/>
</authentication>
</xsl:template>
<xsl:template match="users">
<xsl:apply-templates select="user"/>
</xsl:template>
<xsl:template match="user">
<!-- Compare the name of the user -->
<xsl:if test="normalize-space(name) = $name">
<!-- found, so create the ID -->
<ID><xsl:value-of select="name"/></ID>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
1.1
xml-cocoon2/src/webapp/samples/authentication/stylesheets/simple-page2html.xsl
Index: simple-page2html.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="page">
<html>
<head>
<title>
<xsl:value-of select="title"/>
</title>
<META content="0" http-equiv="expires"/>
<META content="nocache" http-equiv="pragma"/>
</head>
<body bgcolor="white" alink="red" link="blue" vlink="blue">
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="title">
<h2 style="color: navy; text-align: center">
<xsl:apply-templates/>
</h2>
</xsl:template>
<xsl:template match="para">
<p align="center">
<i><xsl:apply-templates/></i>
</p>
</xsl:template>
<xsl:template match="form">
<form method="POST" action="{@target}">
<xsl:apply-templates/>
</form>
</xsl:template>
<xsl:template match="input">
<center>
<xsl:value-of select="@title"/>
<input type="{@type}" name="{@name}" value="{.}"/>
</center><br/>
</xsl:template>
<xsl:template match="linkbar">
<center>
[
<a href="login"> login </a>
|
<a href="protected"> protected </a>
|
<a href="do-logout"> logout </a>
]
</center>
</xsl:template>
</xsl:stylesheet>
<!-- vim: set et ts=2 sw=2: -->
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]