org.apache.cocoon.acting
Class DatabaseAuthenticatorAction
java.lang.Object
|
+--org.apache.avalon.framework.logger.AbstractLoggable
|
+--org.apache.cocoon.acting.AbstractAction
|
+--org.apache.cocoon.acting.AbstractConfigurableAction
|
+--org.apache.cocoon.acting.ConfigurableComposerAction
|
+--org.apache.cocoon.acting.AbstractComplementaryConfigurableAction
|
+--org.apache.cocoon.acting.AbstractDatabaseAction
|
+--org.apache.cocoon.acting.DatabaseAuthenticatorAction
- All Implemented Interfaces:
- Action, org.apache.avalon.framework.component.Component, org.apache.avalon.framework.component.Composable, org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.activity.Disposable, org.apache.avalon.framework.logger.Loggable, org.apache.avalon.framework.thread.ThreadSafe
- public class DatabaseAuthenticatorAction
- extends AbstractDatabaseAction
- implements org.apache.avalon.framework.thread.ThreadSafe
This action is used to authenticate user by comparing several request
fields (username, password) with the values in database. The description of
the process is given via external xml description file simiar to the one
used for all actions derived from AbstractDatabaseAction.
<root>
<connection>personnel</connection>
<table name="users_table>
<select dbcol="username" request-param="username"
to-session="username"/>
<select dbcol="password" request-param="password"
nullable="yes"/>
<select dbcol="role" to-session="role" type="string"/>
<select dbcol="skin" to-session="skin" type="string"/>
</table>
</root>
The values specified via "request-param" describe the name of HTTP request
parameter, "dbcol" indicates matching database column, "nullable" means
that request-param which is null or empty will not be included in the WHERE
clause. This way you can enable accounts with empty passwords, etc.
"to-session" attribute indicates under which name the value obtained from
database should be stored in the session. Of course new session is created
when authorization is successfull. The "type" attribute can be either
string, long or double and alters the type of object stored in session.
Additionally all parameters that are
propagated to the session are made available to the sitemap via {name}
expression.
If there is no need to touch the session object, providing just one-time
verification, you can specify action parameter "create-session" to "no" or
"false". No values are then propagated to the sesion and session object is
not verified.
- Version:
- CVS $Id: DatabaseAuthenticatorAction.java,v 1.7.2.2 2002/11/17 19:10:06 haul Exp $
- Author:
- Martin Man
Fields inherited from interface org.apache.cocoon.acting.Action |
ROLE |
Method Summary |
java.util.Map |
act(Redirector redirector,
SourceResolver resolver,
java.util.Map objectModel,
java.lang.String src,
org.apache.avalon.framework.parameters.Parameters parameters)
Main invocation routine. |
Methods inherited from class org.apache.cocoon.acting.AbstractDatabaseAction |
compose, dispose, getColumn, getDataSource, getRequestAttribute, isLargeObject, setColumn, setColumn, setColumn, setColumn, setRequestAttribute |
Methods inherited from class org.apache.avalon.framework.logger.AbstractLoggable |
getLogger, setLogger, setupLogger, setupLogger, setupLogger |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.avalon.framework.configuration.Configurable |
configure |
DatabaseAuthenticatorAction
public DatabaseAuthenticatorAction()
act
public java.util.Map act(Redirector redirector,
SourceResolver resolver,
java.util.Map objectModel,
java.lang.String src,
org.apache.avalon.framework.parameters.Parameters parameters)
throws java.lang.Exception
- Main invocation routine.
- Following copied from interface:
org.apache.cocoon.acting.Action
- Parameters:
resolver
- The SourceResolver
in chargeobjectModel
- The Map
with object of the
calling environment which can be used
to select values this controller may need
(ie Request, Response).source
- A source String
to the Actionparameters
- The Parameters
for this invocation- Returns:
- Map The returned
Map
object with
sitemap substitution values which can be used
in subsequent elements attributes like src=
using a xpath like expression: src="mydir/{myval}/foo"
If the return value is null the processing inside
the element of the sitemap will
be skipped.- Throws:
java.lang.Exception
- Indicates something is totally wrong
Copyright � 1999-2002 Apache Software Foundation. All Rights Reserved.