Class 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
Method Summary |
abstract
TDbUser
|
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
|
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
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
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
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 |
|
|