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