63 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			PHP
		
	
	
| <?php
 | ||
| namespace app\controller\manager;
 | ||
| 
 | ||
| use app\model\{Member, Log};
 | ||
| 
 | ||
| class Safe extends Base 
 | ||
| {
 | ||
|     /**
 | ||
|      * 安全设置
 | ||
|      * @return Safe
 | ||
|      */
 | ||
| 
 | ||
|     public function index()
 | ||
|     {
 | ||
|         $auth = session('auth');
 | ||
|         if($this->request->isPost()){
 | ||
|             if ($auth) {
 | ||
|                 $authId = $auth['userId'];
 | ||
|                 $oldPassword = trim(input('post.password_old'));
 | ||
|                 $password = trim(input('post.password'));
 | ||
|                 $passwordAgain = trim(input('post.password_again'));
 | ||
|                 $name = trim(input('post.name'));
 | ||
| 
 | ||
|                 $user = Member::getByID($authId);
 | ||
|                 if (empty($user)) {
 | ||
|                     return $this->json(1, '登录失效,请重新登录后再试!');
 | ||
|                 }
 | ||
|                 if (empty($name)) {
 | ||
|                     return $this->json(2, '用户名不能为空!');
 | ||
|                 }
 | ||
|                 $hasUser = Member::getByUserName($name);
 | ||
|                 if (!empty($hasUser) && $hasUser['id'] != $authId) {
 | ||
|                     return $this->json(3, '该用户名已被其他用户使用,请更换!');
 | ||
|                 }
 | ||
|                 if (empty($password) || empty($oldPassword)) {
 | ||
|                     return $this->json(4, '用户密码不能为空!');
 | ||
|                 }
 | ||
|                 if ($password != $passwordAgain) {
 | ||
|                     return $this->json(5, '新密码两次输入不一致!');
 | ||
|                 }
 | ||
|                 if (mb_strlen($password) < 6 || mb_strlen($password) > 30) {
 | ||
|                     return $this->json(6, '新密码长度格式不正确,请输入6~30位密码!');
 | ||
|                 }
 | ||
|                 if ($user['password'] != md5($oldPassword)) {
 | ||
|                     return $this->json(7,'原密码不正确');
 | ||
|                 }
 | ||
|                 $data['password'] = md5($password);
 | ||
|                 Member::updateById($authId, $data);
 | ||
|                 Log::write('safe', 'index', "安全设置,ID:{$authId}, 管理员:{$name}");
 | ||
|                 session('auth', null);
 | ||
|                 //cache('rules_'.$authId, null);    //当前看代码,这个是无用代码;先注释掉,如果在使用过程中不会用到,再删除。
 | ||
|                 cache('group_rules_'.$authId, null);
 | ||
|                 cache('rule_names_'.$authId, null);
 | ||
|                 return $this->json(0, '修改成功,请重新登录!');
 | ||
|             } else {
 | ||
|                 return $this->json(1, '登录失效,请重新登录后再试!');
 | ||
|             }
 | ||
|         }else{
 | ||
|             $this->data['item'] = $auth;
 | ||
|             return $this->view();
 | ||
|         }
 | ||
|     }
 | ||
| } |