public function init_menus() { $menus = [['name' => 'p-system', 'desc' => '系统', 'subMenus' => [['rbac/user-list', '管理员列表[R]'], ['rbac/user-edit', '管理员列表[W]'], ['rbac/role-list', '管理员角色[R]'], ['rbac/role-edit', '管理员角色[W]']]]]; $manager = \Yii::$app->authManager; $role = new \yii\rbac\Role(); $role->name = 'r-admin'; $role->description = '系统管理员'; $manager->add($role); foreach ($menus as $menu) { $pm = new \yii\rbac\Permission(); $pm->name = $menu['name']; $pm->description = $menu['desc']; $manager->add($pm); foreach ($menu['subMenus'] as $m) { $sub_pm = new \yii\rbac\Permission(); $sub_pm->name = $m[0]; $sub_pm->description = $m[1]; $manager->add($sub_pm); $manager->addChild($sub_pm, $pm); $manager->addChild($role, $sub_pm); } $manager->addChild($role, $pm); } // 初始化后台管理员 $admin = new \backend\models\User(); $admin->username = '******'; $admin->setPassword('root'); $admin->save(); $manager->assign($manager->getRole('r-admin'), $admin->id); }
public function actionChangePassword() { $model = new \backend\models\User(['scenario' => 'admin-change-password']); if ($model->load(Yii::$app->request->post()) && $model->validate()) { $user = User::findOne(Yii::$app->user->identity->id); $user->setPassword($model->password); $user->generateAuthKey(); if ($user->save()) { Yii::$app->getSession()->setFlash('success', Yii::t('app', 'New password was saved.')); } return $this->redirect(['change-password']); } return $this->render('changePassword', ['model' => $model]); }
/** * 获取user_info页面所需信息 */ public function actionUserInfoPageById() { $user_id = Cookie::getInstance()->getCookie('bhy_id')->value; // 获取用户信息 $userInfo = User::getInstance()->getUserById($this->get['id']); // 获取admin用户信息 $authUser = new \backend\models\User(); $authUserInfo = $authUser->authUserById($this->get['id']); $authUserInfo = $authUserInfo ? $authUserInfo : []; // 获取用户相册 $userPhoto = UserPhoto::getInstance()->getPhotoList($this->get['id']); // 获取用户动态 $dynamic = UserDynamic::getInstance()->getDynamicList($this->get['id']); // 获取关注状态 $followStatus = UserFollow::getInstance()->getFollowStatus(['user_id' => $user_id, 'follow_id' => $this->get['id']]); $followStatus = $followStatus ? $followStatus['status'] : false; // 获取被关注状态 $followedStatus = UserFollow::getInstance()->getFollowStatus(['user_id' => $this->get['id'], 'follow_id' => $user_id]); $followedStatus = $followedStatus ? $followedStatus['status'] : false; if ($userInfo) { $this->renderAjax(['status' => 1, 'userInfo' => $userInfo, 'authUserInfo' => $authUserInfo, 'userPhoto' => $userPhoto, 'dynamic' => $dynamic, 'followStatus' => $followStatus, 'followedStatus' => $followedStatus, 'msg' => 'user_info页面获取信息成功']); } else { $this->renderAjax(['status' => 0, 'userInfo' => $userInfo, 'authUserInfo' => $authUserInfo, 'userPhoto' => $userPhoto, 'dynamic' => $dynamic, 'followStatus' => $followStatus, 'followedStatus' => $followedStatus, 'msg' => 'user_info页面获取信息失败']); } }