Class DatabaseCookieAuthenticatorAction

  extended byorg.apache.cocoon.util.AbstractLogEnabled
      extended byorg.apache.cocoon.acting.AbstractAction
          extended byorg.apache.cocoon.acting.AbstractConfigurableAction
              extended byorg.apache.cocoon.acting.ConfigurableServiceableAction
                  extended byorg.apache.cocoon.acting.AbstractComplementaryConfigurableAction
                      extended byorg.apache.cocoon.acting.AbstractDatabaseAction
                          extended byorg.apache.cocoon.acting.DatabaseCookieAuthenticatorAction
All Implemented Interfaces:
org.apache.cocoon.acting.Action, Configurable, Disposable, Serviceable, ThreadSafe

public class DatabaseCookieAuthenticatorAction
extends AbstractDatabaseAction
implements ThreadSafe

This action is used to authenticate user by comparing several cookie values (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.

         <table name="users_table>
                 <select dbcol="username" cookie-name="username"
                 <select dbcol="password" cookie-name="password"
                 <select dbcol="role" to-session="role" type="string"/>
                 <select dbcol="skin" to-session="skin" type="string"/>
The values specified via "cookie-name" describe the name of the cookie, "dbcol" indicates matching database column, "nullable" means that cookie-name 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. If you want to append attributes to the session without creating a new one, specify action parameter "append-session" to "yes" or "true".

$Id: DatabaseCookieAuthenticatorAction.html 1304280 2012-03-23 11:18:01Z ilgrosso $

Field Summary
Fields inherited from class org.apache.cocoon.acting.AbstractDatabaseAction
dbselector, files, typeConstants
Fields inherited from class org.apache.cocoon.acting.AbstractComplementaryConfigurableAction
Fields inherited from class org.apache.cocoon.acting.ConfigurableServiceableAction
Fields inherited from class org.apache.cocoon.acting.AbstractConfigurableAction
Fields inherited from class org.apache.cocoon.acting.AbstractAction
Fields inherited from interface org.apache.cocoon.acting.Action
Constructor Summary
Method Summary
 Map act(org.apache.cocoon.environment.Redirector redirector, org.apache.cocoon.environment.SourceResolver resolver, Map objectModel, String src, Parameters parameters)
          Main invocation routine.
static org.apache.cocoon.environment.Cookie getCookie(Map objectModel, String cookieName)
Methods inherited from class org.apache.cocoon.acting.AbstractDatabaseAction
buildList, buildList, dispose, getColumn, getDataSource, getRequestAttribute, isLargeObject, service, setColumn, setColumn, setColumn, setColumn, setRequestAttribute
Methods inherited from class org.apache.cocoon.acting.AbstractComplementaryConfigurableAction
getConfiguration, getConfiguration
Methods inherited from class org.apache.cocoon.acting.AbstractConfigurableAction
Methods inherited from class org.apache.cocoon.util.AbstractLogEnabled
getLogger, setLogger
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public DatabaseCookieAuthenticatorAction()
Method Detail


public Map act(org.apache.cocoon.environment.Redirector redirector,
               org.apache.cocoon.environment.SourceResolver resolver,
               Map objectModel,
               String src,
               Parameters parameters)
        throws Exception
Main invocation routine.

Specified by:
act in interface org.apache.cocoon.acting.Action
redirector - Description of Parameter
resolver - Description of Parameter
objectModel - Description of Parameter
src - Description of Parameter
parameters - Description of Parameter
Description of the Returned Value
Exception - Description of Exception


public static org.apache.cocoon.environment.Cookie getCookie(Map objectModel,
                                                             String cookieName)

Copyright 1999-2008 The Apache Software Foundation. All Rights Reserved.