/** * Change Password * * @return User|null the saved model or null if saving fails */ public function updatePassword(\common\models\user\User $user) { if (!$this->validate()) { return null; } $user->setPassword($this->password); $user->generateAuthKey(); if ($this->passwordUpdated = $user->save()) { return $user; } return null; }
/** * Signs user up. * * @return User|null the saved model or null if saving fails */ public function register($validate = true) { if ($validate && !$this->validate()) { return null; } $user = new User(); $user->username = $this->username; $user->email = $this->email; $user->setPassword($this->password); $user->generateAuthKey(); $user->save(); return $user; }
/** * Creates a new User model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new User(['scenario' => 'create']); if ($model->load(Yii::$app->request->post())) { $model->setPassword($model->password); //强制入库 $model->generateAuthKey(); //强制入库 if ($model->save()) { Yii::$app->getAuthManager()->assign(Yii::$app->getAuthManager()->getRole($model->role_name), $model->id); //授权操作 Yii::$app->getSession()->setFlash('success', Yii::t('common', 'Create Success!')); return $this->redirect(['index']); } else { Yii::$app->getSession()->setFlash('warning', Yii::t('common', 'Create Failure!')); } } return $this->render('create', ['model' => $model]); }
/** * Signs user up. * * @return Admin|null the saved model or null if saving fails */ public function add() { if ($this->validate()) { $user = new Admin(); $user->username = '******'; $user->email = $this->email; if (!empty($this->nickname)) { $user->nickname = $this->nickname; } if (!empty($this->phone)) { $user->phone = $this->phone; } $user->setPassword($this->password); $user->generateAuthKey(); if ($user->save()) { return $user; } } return null; }
/** * Signs user up. * * @return User|null the saved model or null if saving fails */ public function signup() { if ($this->validate()) { $user = new User(); $user->username = $this->username; $user->email = $this->email; $user->setPassword($this->password); $user->generateAuthKey(); if ($user->save()) { $userExtend = new UserExtend(); $resultFullPath = $userExtend->defaultUserImage(); if (!empty($resultFullPath)) { $userExtend->user_id = $user->id; $userExtend->avatar = $resultFullPath['avatar']; $userExtend->image = $resultFullPath['image']; $userExtend->save(); } return $user; } } return null; }
/** * Signs user up. * * @return User|null the saved model or null if saving fails */ public function signup() { $transaction = Yii::$app->db->beginTransaction(); if ($this->validate()) { $user = new User(); $user->username = $this->username; $user->first_name = $this->first_name; $user->last_name = $this->last_name; $user->email = $this->email; $user->setPassword($this->password); $user->generateAuthKey(); if ($user->save()) { $userRole = Yii::$app->authManager->getRole('user'); Yii::$app->authManager->assign($userRole, $user->id); $transaction->commit(); return $user; } else { $transaction->rollBack(); } } return null; }
public function safeUp() { $this->originalMigration->up(); $authManager = Yii::$app->authManager; $this->alterColumn($authManager->assignmentTable, 'user_id', $this->integer()->notNull()); //fk $this->addForeignKey("fk_assignment_user_id", $authManager->assignmentTable, 'user_id', '{{%radiata_user}}', 'id', 'CASCADE', 'CASCADE'); $developerRole = $authManager->createRole('developer'); $adminRole = $authManager->createRole('admin'); $managerRole = $authManager->createRole('manager'); $userRole = $authManager->createRole('user'); $authManager->add($developerRole); $authManager->add($adminRole); $authManager->add($managerRole); $authManager->add($userRole); $authManager->addChild($managerRole, $userRole); $authManager->addChild($adminRole, $managerRole); $authManager->addChild($developerRole, $adminRole); $permissionRadiataModule = $authManager->createPermission('Radiata Module'); $authManager->add($permissionRadiataModule); $permissionRadiataModuleDashboard = $authManager->createPermission('Radiata Module. Dashboard'); $authManager->add($permissionRadiataModuleDashboard); $authManager->addChild($permissionRadiataModule, $permissionRadiataModuleDashboard); $permissionRadiataModuleAdminLog = $authManager->createPermission('Radiata Module. Admin Log'); $authManager->add($permissionRadiataModuleAdminLog); $authManager->addChild($permissionRadiataModule, $permissionRadiataModuleAdminLog); $permissionRadiataModuleLangs = $authManager->createPermission('Radiata Module. Languages'); $authManager->add($permissionRadiataModuleLangs); $authManager->addChild($permissionRadiataModule, $permissionRadiataModuleLangs); $permissionRadiataModuleUsers = $authManager->createPermission('Radiata Module. Users'); $authManager->add($permissionRadiataModuleUsers); $authManager->addChild($permissionRadiataModule, $permissionRadiataModuleUsers); $user = new User(); $user->username = '******'; $user->first_name = 'Developer'; $user->last_name = 'Developer'; $user->email = '*****@*****.**'; $user->setPassword('developer^^'); $user->generateAuthKey(); $user->status = User::STATUS_ACTIVE; $user->created_at = time(); $user->updated_at = time(); Yii::$app->db->createCommand()->insert(User::tableName(), $user->attributes, ArrayHelper::getColumn($user, 'attributes'))->execute(); $authManager->assign($developerRole, Yii::$app->db->getLastInsertID()); $user = new User(); $user->username = '******'; $user->first_name = 'Admin'; $user->last_name = 'Admin'; $user->email = '*****@*****.**'; $user->setPassword('admin^^'); $user->generateAuthKey(); $user->status = User::STATUS_ACTIVE; $user->created_at = time(); $user->updated_at = time(); Yii::$app->db->createCommand()->insert(User::tableName(), $user->attributes, ArrayHelper::getColumn($user, 'attributes'))->execute(); $authManager->assign($adminRole, Yii::$app->db->getLastInsertID()); $user = new User(); $user->username = '******'; $user->first_name = 'Manager'; $user->last_name = 'Manager'; $user->email = '*****@*****.**'; $user->setPassword('manager^^'); $user->generateAuthKey(); $user->status = User::STATUS_ACTIVE; $user->created_at = time(); $user->updated_at = time(); Yii::$app->db->createCommand()->insert(User::tableName(), $user->attributes, ArrayHelper::getColumn($user, 'attributes'))->execute(); $authManager->assign($managerRole, Yii::$app->db->getLastInsertID()); $user = new User(); $user->username = '******'; $user->first_name = 'User'; $user->last_name = 'User'; $user->email = '*****@*****.**'; $user->setPassword('user^^'); $user->generateAuthKey(); $user->status = User::STATUS_ACTIVE; $user->created_at = time(); $user->updated_at = time(); Yii::$app->db->createCommand()->insert(User::tableName(), $user->attributes, ArrayHelper::getColumn($user, 'attributes'))->execute(); $authManager->assign($userRole, Yii::$app->db->getLastInsertID()); }