requerimientos instalar framework formularios datos advanced php database yii login yii2

php - instalar - Acceso a Yii Framework 2.0 con base de datos de usuario



yii2 install (2)

He intentado buscar en Internet cómo escribir el código en Yii framework 2.0 para que el usuario pueda iniciar sesión con las credenciales almacenadas en la base de datos y no desde la matriz, con el prefijo en modelos / User.php. Sé cómo hacer eso en Yii 1. Pero en Yii 2.0, realmente no sé cómo hacer eso. Como todavía no se ha lanzado Yii 2.0 (solo está disponible la versión beta), no pude encontrar muchos tutoriales de Yii 2.0 en Internet sobre el inicio de sesión con la base de datos.



Puede implementar la administración de usuarios de la base de datos usando extesions como https://github.com/amnah/yii2-user .

O

Si desea escribir su propia secuencia de comandos personalizada para administrar a los usuarios, puede anular Yii2 identityClass.

En la sección de componentes de tu configuración agrega:

''user'' => [ ''identityClass'' => ''app/models/User'', ''enableAutoLogin'' => true, ],

Tenga en cuenta que su modelo de usuario DEBE IMPLEMENTAR / yii / web / IdentityInterface

Este es el ejemplo de la clase de modelo que puede usar para implementar la autenticación de la base de datos

namespace app/models; //app/models/gii/Users is the model generated using Gii from users table use app/models/gii/Users as DbUser; class User extends /yii/base/Object implements /yii/web/IdentityInterface { public $id; public $username; public $password; public $authKey; public $accessToken; public $email; public $phone_number; public $user_type; /** * @inheritdoc */ public static function findIdentity($id) { $dbUser = DbUser::find() ->where([ "id" => $id ]) ->one(); if (!count($dbUser)) { return null; } return new static($dbUser); } /** * @inheritdoc */ public static function findIdentityByAccessToken($token, $userType = null) { $dbUser = DbUser::find() ->where(["accessToken" => $token]) ->one(); if (!count($dbUser)) { return null; } return new static($dbUser); } /** * Finds user by username * * @param string $username * @return static|null */ public static function findByUsername($username) { $dbUser = DbUser::find() ->where([ "username" => $username ]) ->one(); if (!count($dbUser)) { return null; } return new static($dbUser); } /** * @inheritdoc */ public function getId() { return $this->id; } /** * @inheritdoc */ public function getAuthKey() { return $this->authKey; } /** * @inheritdoc */ public function validateAuthKey($authKey) { return $this->authKey === $authKey; } /** * Validates password * * @param string $password password to validate * @return boolean if password provided is valid for current user */ public function validatePassword($password) { return $this->password === $password; } }

Espero que sea útil para ti. Saludos :)