Class \Prado\Security\TDbUser
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
Class hierarchy
Author: Qiang Xue <qiang.xue@gmail.com>Since: 3.1.0
public
abstract
|
createUser(string $username) : TDbUser
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 \Prado\Security\getDbConnection to deal with database. |
public
|
createUserFromCookie(THttpCookie $cookie) : TDbUser
Creates a new user instance given the cookie containing auth data.
This method is invoked when \Prado\Security\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. |
public
|
getDbConnection() : TDbConnection
Returns a database connection that may be used to retrieve data from database.
|
public
|
saveUserToCookie(THttpCookie $cookie) : mixed
Saves necessary auth data into a cookie.
This method is invoked when \Prado\Security\TAuthManager::setAllowAutoLogin is set true. 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. |
public
abstract
|
validateUser(string $username, string $password) : bool
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 \Prado\Security\getDbConnection to deal with database. |
\Prado\TComponent::GLOBAL_RAISE_EVENT_LISTENER |