Packages:
default
System
System.Caching
System.Collections
System.Data
System.Data.ActiveRecord
System.Data.ActiveRecord.Relations
System.Data.ActiveRecord.Scaffold
System.Data.ActiveReecord.Scaffold.InputBuilder
System.Data.Commom.Sqlite
System.Data.Common
System.Data.Common.Mssql
System.Data.Common.Mysql
System.Data.Common.Oracle
System.Data.Common.Pgsql
System.Data.Common.Sqlite
System.Data.DataGateway
System.Data.SqlMap
System.Data.SqlMap.Configuration
System.Data.SqlMap.Statements
System.Exceptions
System.I18N
System.IO
System.Security
System.Util
System.Web
System.Web.Services
System.Web.UI
System.Web.UI.ActiveControls
System.Web.UI.WebControls
System.Web.UI.WebControls.assets
System.Xml


Classes:
Keyword

Class TDbUser

TComponent
   |
   --TUser
      |
      --TDbUser

TDbUser class

TDbUser is the base user class for using together with TDbUserManager. Two methods are declared and must be implemented in the descendant classes:

  • validateUser(): validates if username and password are correct entries.
  • createUser(): creates a new user instance given the username

Since: 3.1.0
Author: Qiang Xue <qiang.xue@gmail.com>

Method Summary
abstract  TDbUser
createUser ( string $username)
Creates a new user instance given the username.
TDbUser
Creates a new user instance given the cookie containing auth data.
TDbConnection
Returns a database connection that may be used to retrieve data from database.
void
Saves necessary auth data into a cookie.
abstract  boolean
validateUser ( string $username, string $password)
Validates if username and password are correct entries.
Methods Inherited From TUser
TUser::getIsGuest(), TUser::getManager(), TUser::getName(), TUser::getRoles(), TUser::getState(), TUser::getStateChanged(), TUser::isInRole(), TUser::loadFromString(), TUser::saveToString(), TUser::setIsGuest(), TUser::setName(), TUser::setRoles(), TUser::setState(), TUser::setStateChanged()
Methods Inherited From TComponent
TComponent::addParsedObject(), TComponent::attachEventHandler(), TComponent::canGetProperty(), TComponent::canSetProperty(), TComponent::createdOnTemplate(), TComponent::detachEventHandler(), TComponent::evaluateExpression(), TComponent::evaluateStatements(), TComponent::getEventHandlers(), TComponent::getSubProperty(), TComponent::hasEvent(), TComponent::hasEventHandler(), TComponent::hasProperty(), TComponent::raiseEvent(), TComponent::setSubProperty(), TComponent::__get(), TComponent::__set()

Method Details

createUser

public abstract TDbUser createUser (string $username )

Creates a new user instance given the username.

This method usually needs to retrieve necessary user information (e.g. role, name, rank, etc.) from the user database according to the specified username. The newly created user instance should be initialized with these information.

If the username is invalid (not found in the user database), null should be returned.

You may use DbConnection to deal with database.

Input
string$usernameusername (case-sensitive)
Output
TDbUser the newly created and initialized user instance
Exception

createUserFromCookie

public TDbUser createUserFromCookie (THttpCookie $cookie )

Creates a new user instance given the cookie containing auth data.

This method is invoked when TAuthManager::setAllowAutoLogin is set true. The default implementation simply returns null, meaning no user instance can be created from the given cookie.

If you want to support automatic login (remember login), you should override this method. Typically, you obtain the username and a unique token from the cookie's value. You then verify the token is valid and use the username to create a user instance.

Input
THttpCookie$cookiethe cookie storing user authentication information
Output
TDbUser the user instance generated based on the cookie auth data, null if the cookie does not have valid auth data.
Exception

getDbConnection

public TDbConnection getDbConnection ()

Returns a database connection that may be used to retrieve data from database.

Output
TDbConnection database connection that may be used to retrieve data from database
Exception

saveUserToCookie

public void saveUserToCookie (THttpCookie $cookie )

Saves necessary auth data into a cookie.

This method is invoked when TAuthManager::rememberLogin is invoked. The default implementation does nothing, meaning auth data is not stored in the cookie (and thus automatic login is not supported.)

If you want to support automatic login (remember login), you should override this method. Typically, you generate a unique token according to the current login information and save it together with the username in the cookie's value. You should avoid revealing the password in the generated token.

Input
THttpCookie$cookiethe cookie to store the user auth information
Output
Exception

validateUser

public abstract boolean validateUser (string $username , string $password )

Validates if username and password are correct entries.

Usually, this is accomplished by checking if the user database contains this (username, password) pair. You may use DbConnection to deal with database.

Input
string$usernameusername (case-sensitive)
string$passwordpassword
Output
boolean whether the validation succeeds
Exception