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();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |