- Home
- About
- Testimonials
- Demos
- Download
- Documentation
- Blogs
- Forum
- Support

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:
IUserManager
TAuthManager
TAuthorizationRule
TAuthorizationRuleCollection
TDbUser
TDbUserManager
TSecurityManager
TSecurityManagerValidationMode
TUser
TUserManager
TUserManagerPasswordMode

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 | createUserFromCookie ( THttpCookie $cookie) Creates a new user instance given the cookie containing auth data.
TDbConnection | getDbConnection () Returns a database connection that may be used to retrieve data from database.
void | saveUserToCookie ( THttpCookie $cookie) 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 | $username | username (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 | $cookie | the 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 | $cookie | the 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 | $username | username (case-sensitive)
string | $password | password
Output
boolean | whether the validation succeeds
Exception