Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.turbine.services.security.ldap
Class LDAPUser

    java.lang.Object
      org.apache.turbine.services.security.ldap.LDAPUser

All Implemented Interfaces:
  Serializable, EventListener, javax.servlet.http.HttpSessionBindingListener, SecurityEntity, User

Direct Known Subclasses:
  ActiveDirectoryUser

    public class LDAPUser

extends Object
implements User

LDAPUser implements User and provides access to a user who accesses the system via LDAP.

Author:
  Craig D. Berry, Tracy M. Adewunmi, Leonard J. Flournoy , Daniel Rall, Humberto Hernandez
See Also:
  Serialized Form

Field Summary

Fields inherited from interface org.apache.turbine.om.security.User
`ACCESS_COUNTER, CONFIRM_DATA, CONFIRM_VALUE, EMAIL, FIRST_NAME, HAS_LOGGED_IN, LAST_LOGIN, LAST_NAME, PASSWORD, SESSION_ACCESS_COUNTER, SESSION_KEY, USERNAME`

Constructor Summary
`LDAPUser()` Constructor.

Method Summary
`int` | `getAccessCounter()` Gets the access counter for a user from perm storage.
`int` | `getAccessCounterForSession()` Gets the access counter for a user during a session.
`String` | `getConfirmed()` Returns the value of Confirmed variable
`Date` | `getCreateDate()` Gets the create date for this User.
`String` | `getDN()` Gets the distinguished name (DN) of the User.
`String` | `getEmail()` Returns the Email for this user.
`String` | `getFirstName()` Returns the first name for this user.
`int` | `getId()` Not implemented.
`Integer` | `getIdAsObj()` Not implemented.
`Date` | `getLastAccessDate()` Gets the last access date for this User.
`Date` | `getLastLogin()` Get last login date/time for this user.
`String` | `getLastName()` Returns the last name for this user.
`Attributes` | `getLDAPAttributes()` Get the JNDI Attributes used to store the user in LDAP.
`String` | `getName()` Returns the username for this user.
`String` | `getPassword()` Get password for this user.
`Object` | `getPerm(String name)` Get an object from permanent storage.
`Object` | `getPerm(String name, Object def)` Get an object from permanent storage; return default if value is null.
`Hashtable` | `getPermStorage()` This should only be used in the case where we want to save the data to the database.
`Object` | `getTemp(String name)` Get an object from temporary storage.
`Object` | `getTemp(String name, Object def)` Get an object from temporary storage; return default if value is null.
`Hashtable` | `getTempStorage()` This should only be used in the case where we want to save the data to the database.
`int` | `getTimeout()` A User object can have a variable Timeout, which is defined in minutes.
`boolean` | `hasLoggedIn()` The user is considered logged in if they have not timed out.
`void` | `incrementAccessCounter()` Increments the permanent hit counter for the user.
`void` | `incrementAccessCounterForSession()` Increments the session hit counter for the user.
`boolean` | `isConfirmed()` This method reports whether or not the user has been confirmed in the system by checking the `CONFIRM_VALUE` column to see if it is equal to `CONFIRM_DATA`.
`Object` | `removeTemp(String name)` Remove an object from temporary storage and return the object.
`void` | `save()` Saves this object to the data store.
`void` | `save(Connection conn)` not implemented
`void` | `save(String dbname)` not implemented
`void` | `setAccessCounter(int cnt)` Sets the access counter for a user, saved in perm storage.
`void` | `setAccessCounterForSession(int cnt)` Sets the session access counter for a user, saved in temp storage.
`void` | `setConfirmed(String confirm)` Set the users confirmed variable
`void` | `setCreateDate(Date date)` Sets the create date for this User.
`void` | `setEmail(String email)` Set the users Email
`void` | `setFirstName(String fname)` Set the users First Name
`void` | `setHasLoggedIn(Boolean value)` This sets whether or not someone has logged in.
`void` | `setId(int id)` Not implemented.
`void` | `setLastAccessDate()` Sets the last access date for this User.
`void` | `setLastLogin(Date date)` Set last login date/time.
`void` | `setLastName(String lname)` Set the users Last Name Sets the last name for this user.
`void` | `setLDAPAttributes(Attributes attribs)` Populates the user with values obtained from the LDAP Service.
`void` | `setName(String name)` Set the users name.
`void` | `setPassword(String password)` Set password.
`void` | `setPerm(String name, Object value)` Put an object into permanent storage.
`void` | `setPermStorage(Hashtable stuff)` This should only be used in the case where we want to save the data to the database.
`void` | `setTemp(String name, Object value)` Put an object into temporary storage.
`void` | `setTempStorage(Hashtable storage)` This should only be used in the case where we want to save the data to the database.
`void` | `setTimeout(int time)` A User object can have a variable Timeout which is defined in minutes.
`void` | `updateLastLogin()` Updates the last login date in the database.
`void` | `valueBound(javax.servlet.http.HttpSessionBindingEvent hsbe)` Implement this method if you wish to be notified when the User has been Bound to the session.
`void` | `valueUnbound(javax.servlet.http.HttpSessionBindingEvent hsbe)` Implement this method if you wish to be notified when the User has been Unbound from the session.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### LDAPUser

    public LDAPUser()

  Constructor. Create a new User and set the createDate.

Method Detail

### setLDAPAttributes

    public void setLDAPAttributes(Attributes attribs)
                           throws NamingException

  Populates the user with values obtained from the LDAP Service. This method could be redefined in subclasses.

  Parameters:
    `attribs` - The attributes obtained from LDAP.
  Throws:
    `NamingException` - if there was an error with JNDI.

### getLDAPAttributes

    public Attributes getLDAPAttributes()
                                 throws NamingException

  Get the JNDI Attributes used to store the user in LDAP. This method could be redefined in a subclass.

  Returns:
    The JNDI attributes of the user.
  Throws:
    `NamingException` - if there is a JNDI error.

### getDN

    public String getDN()

  Gets the distinguished name (DN) of the User. This method could be redefined in a subclass.

  Returns:
    The Distinguished Name of the user.

### getAccessCounterForSession

    public int getAccessCounterForSession()

  Gets the access counter for a user during a session.

  Specified by:
    `getAccessCounterForSession` in interface `User`
  Returns:
    The access counter for the user for the session.

### getAccessCounter

    public int getAccessCounter()

  Gets the access counter for a user from perm storage.

  Specified by:
    `getAccessCounter` in interface `User`
  Returns:
    The access counter for the user.

### getCreateDate

    public Date getCreateDate()

  Gets the create date for this User. This is the time at which the user object was created.

  Specified by:
    `getCreateDate` in interface `User`
  Returns:
    A Java Date with the date of creation for the user.

### getConfirmed

    public String getConfirmed()

  Returns the value of Confirmed variable

  Specified by:
    `getConfirmed` in interface `User`
  Returns:
    the confirm value.

### getEmail

    public String getEmail()

  Returns the Email for this user. If this is defined, then the user is considered logged in.

  Specified by:
    `getEmail` in interface `User`
  Returns:
    A String with the user's Email.

### getLastAccessDate

    public Date getLastAccessDate()

  Gets the last access date for this User. This is the last time that the user object was referenced.

  Specified by:
    `getLastAccessDate` in interface `User`
  Returns:
    A Java Date with the last access date for the user.

### getLastLogin

    public Date getLastLogin()

  Get last login date/time for this user.

  Specified by:
    `getLastLogin` in interface `User`
  Returns:
    A Java Date with the last login date for the user.

### getPassword

    public String getPassword()

  Get password for this user.

  Specified by:
    `getPassword` in interface `User`
  Returns:
    A String with the password for the user.

### getPerm

    public Object getPerm(String name)

  Get an object from permanent storage.

  Specified by:
    `getPerm` in interface `User`
  Parameters:
    `name` - The object's name.
  Returns:
    An Object with the given name.

### getPerm

    public Object getPerm(String name,
                          Object def)

  Get an object from permanent storage; return default if value is null.

  Specified by:
    `getPerm` in interface `User`
  Parameters:
    `name` - The object's name.
    `def` - A default value to return.
  Returns:
    An Object with the given name.

### getPermStorage

    public Hashtable getPermStorage()

  This should only be used in the case where we want to save the data to the database.

  Specified by:
    `getPermStorage` in interface `User`
  Returns:
    A Hashtable.

### getTemp

    public Object getTemp(String name)

  Get an object from temporary storage.

  Specified by:
    `getTemp` in interface `User`
  Parameters:
    `name` - The object's name.
  Returns:
    An Object with the given name.

### getTemp

    public Object getTemp(String name,
                          Object def)

  Get an object from temporary storage; return default if value is null.

  Specified by:
    `getTemp` in interface `User`
  Parameters:
    `name` - The object's name.
    `def` - A default value to return.
  Returns:
    An Object with the given name.

### getTimeout

    public int getTimeout()

  A User object can have a variable Timeout, which is defined in minutes. If the user has been timed out, then the hasLoggedIn() value will return false.

  Returns:
    An int specifying the timeout.

### getFirstName

    public String getFirstName()

  Returns the first name for this user. If this is defined, then the user is considered logged in.

  Specified by:
    `getFirstName` in interface `User`
  Returns:
    A String with the user's first name.

### getLastName

    public String getLastName()

  Returns the last name for this user. If this is defined, then the user is considered logged in.

  Specified by:
    `getLastName` in interface `User`
  Returns:
    A String with the user's last name.

### hasLoggedIn

    public boolean hasLoggedIn()

  The user is considered logged in if they have not timed out.

  Specified by:
    `hasLoggedIn` in interface `User`
  Returns:
    True if the user has logged in.

### isConfirmed

    public boolean isConfirmed()

  This method reports whether or not the user has been confirmed in the system by checking the `CONFIRM_VALUE` column to see if it is equal to `CONFIRM_DATA`.

  Specified by:
    `isConfirmed` in interface `User`
  Returns:
    True if the user has been confirmed.

### incrementAccessCounter

    public void incrementAccessCounter()

  Increments the permanent hit counter for the user.

  Specified by:
    `incrementAccessCounter` in interface `User`

### incrementAccessCounterForSession

    public void incrementAccessCounterForSession()

  Increments the session hit counter for the user.

  Specified by:
    `incrementAccessCounterForSession` in interface `User`

### removeTemp

    public Object removeTemp(String name)

  Remove an object from temporary storage and return the object.

  Specified by:
    `removeTemp` in interface `User`
  Parameters:
    `name` - The name of the object to remove.
  Returns:
    An Object.

### setAccessCounter

    public void setAccessCounter(int cnt)

  Sets the access counter for a user, saved in perm storage.

  Specified by:
    `setAccessCounter` in interface `User`
  Parameters:
    `cnt` - The new count.

### setAccessCounterForSession

    public void setAccessCounterForSession(int cnt)

  Sets the session access counter for a user, saved in temp storage.

  Specified by:
    `setAccessCounterForSession` in interface `User`
  Parameters:
    `cnt` - The new count.

### setConfirmed

    public void setConfirmed(String confirm)

  Set the users confirmed variable

  Specified by:
    `setConfirmed` in interface `User`
  Parameters:
    `confirm` - The new confim value.

### setLastAccessDate

    public void setLastAccessDate()

  Sets the last access date for this User. This is the last time that the user object was referenced.

  Specified by:
    `setLastAccessDate` in interface `User`

### setCreateDate

    public void setCreateDate(Date date)

  Sets the create date for this User. This is the time at which the user object was created.

  Specified by:
    `setCreateDate` in interface `User`
  Parameters:
    `date` - The create date.

### setEmail

    public void setEmail(String email)

  Set the users Email

  Specified by:
    `setEmail` in interface `User`
  Parameters:
    `email` - The new email.

### setFirstName

    public void setFirstName(String fname)

  Set the users First Name

  Specified by:
    `setFirstName` in interface `User`
  Parameters:
    `fname` - The new firstname.

### setLastLogin

    public void setLastLogin(Date date)

  Set last login date/time.

  Specified by:
    `setLastLogin` in interface `User`
  Parameters:
    `date` - The last login date.

### setLastName

    public void setLastName(String lname)

  Set the users Last Name Sets the last name for this user.

  Specified by:
    `setLastName` in interface `User`
  Parameters:
    `lname` - The new lastname.

### setPassword

    public void setPassword(String password)

  Set password.

  Specified by:
    `setPassword` in interface `User`
  Parameters:
    `password` - The new password.

### setPerm

    public void setPerm(String name,
                        Object value)

  Put an object into permanent storage.

  Specified by:
    `setPerm` in interface `User`
  Parameters:
    `name` - The object's name.
    `value` - The object.

### setPermStorage

    public void setPermStorage(Hashtable stuff)

  This should only be used in the case where we want to save the data to the database.

  Specified by:
    `setPermStorage` in interface `User`
  Parameters:
    `stuff` - A Hashtable.

### getTempStorage

    public Hashtable getTempStorage()

  This should only be used in the case where we want to save the data to the database.

  Specified by:
    `getTempStorage` in interface `User`
  Returns:
    A Hashtable.

### setTempStorage

    public void setTempStorage(Hashtable storage)

  This should only be used in the case where we want to save the data to the database.

  Specified by:
    `setTempStorage` in interface `User`
  Parameters:
    `storage` - A Hashtable.

### setHasLoggedIn

    public void setHasLoggedIn(Boolean value)

  This sets whether or not someone has logged in. hasLoggedIn() returns this value.

  Specified by:
    `setHasLoggedIn` in interface `User`
  Parameters:
    `value` - Whether someone has logged in or not.

### setTemp

    public void setTemp(String name,
                        Object value)

  Put an object into temporary storage.

  Specified by:
    `setTemp` in interface `User`
  Parameters:
    `name` - The object's name.
    `value` - The object.

### setTimeout

    public void setTimeout(int time)

  A User object can have a variable Timeout which is defined in minutes. If the user has been timed out, then the hasLoggedIn() value will return false.

  Parameters:
    `time` - The user's timeout.

### updateLastLogin

    public void updateLastLogin()
                         throws Exception

  Updates the last login date in the database.

  Specified by:
    `updateLastLogin` in interface `User`
  Throws:
    `Exception` - a generic exception.

### valueBound

    public void valueBound(javax.servlet.http.HttpSessionBindingEvent hsbe)

  Implement this method if you wish to be notified when the User has been Bound to the session.

  Specified by:
    `valueBound` in interface `javax.servlet.http.HttpSessionBindingListener`
  Parameters:
    `hsbe` - The HttpSessionBindingEvent.

### valueUnbound

    public void valueUnbound(javax.servlet.http.HttpSessionBindingEvent hsbe)

  Implement this method if you wish to be notified when the User has been Unbound from the session.

  Specified by:
    `valueUnbound` in interface `javax.servlet.http.HttpSessionBindingListener`
  Parameters:
    `hsbe` - The HttpSessionBindingEvent.

### getName

    public String getName()

  Returns the username for this user. If this is defined, then the user is considered logged in.

  Specified by:
    `getName` in interface `SecurityEntity`
  Returns:
    A String with the username.

### setName

    public void setName(String name)

  Set the users name.

  Specified by:
    `setName` in interface `SecurityEntity`
  Parameters:
    `name` - the name of the User.

### getId

    public int getId()

  Not implemented.

  Specified by:
    `getId` in interface `SecurityEntity`
  Returns:
    0

### getIdAsObj

    public Integer getIdAsObj()

  Not implemented.

  Specified by:
    `getIdAsObj` in interface `SecurityEntity`
  Returns:
    null

### setId

    public void setId(int id)

  Not implemented.

  Specified by:
    `setId` in interface `SecurityEntity`
  Parameters:
    `id` - The id of the User.

### save

    public void save()
              throws Exception

  Saves this object to the data store.

  Throws:
    `Exception` - if it cannot be saved

### save

    public void save(Connection conn)
              throws Exception

  not implemented

  Parameters:
    `conn` - the database connection
  Throws:
    `Exception` - if there is an error

### save

    public void save(String dbname)
              throws Exception

  not implemented

  Parameters:
    `dbname` - the database name
  Throws:
    `Exception` - if there is an error

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2011 The Apache Software Foundation. All Rights Reserved.