Example #1
0
    def set_dir_auth(self, get):
        '''
        get.name        auth_name
        get.site_dir         auth_dir
        get.username    username
        get.password    password
        get.id          site id
        :param get:
        :return:
        '''
        name = get.name
        site_dir = get.site_dir
        if not hasattr(get, "password") or not get.password or not hasattr(
                get, "username") or not get.username:
            return public.returnMsg(False,
                                    'Please enter an account or password')
        if not get.site_dir:
            return public.returnMsg(
                False, 'Please enter the directory to be protected')
        if not get.name:
            return public.returnMsg(False, 'Please enter the Name')

        if site_dir[0] == "/":
            site_dir = site_dir[1:]
            if site_dir[-1] == "/":
                site_dir = site_dir[:-1]
        passwd = public.hasPwd(get.password)
        site_info = self.get_site_info(get.id)
        site_name = site_info["site_name"]
        if self._check_site_authorization(site_name):
            return public.returnMsg(
                False,
                'Site password protection has been set, please cancel and then set. Site directory --> Password access'
            )
        if self._check_dir_auth(site_name, name, site_dir):
            return public.returnMsg(False, 'Directory has been protected')
        auth = "{user}:{passwd}".format(user=get.username, passwd=passwd)
        auth_file = '{setup_path}/pass/{site_name}'.format(
            setup_path=self.setup_path, site_name=site_name)
        if not os.path.exists(auth_file):
            os.makedirs(auth_file)
        auth_file = auth_file + "/{}.pass".format(name)
        public.writeFile(auth_file, auth)
        # 配置独立认证文件
        self.set_dir_auth_file(site_info["site_path"], site_name, name,
                               get.username, site_dir, auth_file)
        # 配置站点主文件
        result = self.set_conf(site_name, "create")
        if result:
            return result
        # 检查配置
        webserver = public.get_webserver()
        result = self.check_site_conf(webserver, site_name, name)
        if result:
            return result
        # 写配置
        conf = {"name": name, "site_dir": get.site_dir, "auth_file": auth_file}
        self._write_conf(conf, site_name)
        public.serviceReload()
        return public.returnMsg(True, "Created successfully")
    def set_dir_auth(self, get):
        '''
        get.name        auth_name
        get.site_dir         auth_dir
        get.username    username
        get.password    password
        get.id          site id
        :param get:
        :return:
        '''
        name = get.name
        site_dir = get.site_dir
        if not hasattr(get, "password") or not get.password or not hasattr(
                get, "username") or not get.username:
            return public.returnMsg(False, '请输入账号或密码')
        if not get.site_dir:
            return public.returnMsg(False, '请输入需要保护的目录')
        if not get.name:
            return public.returnMsg(False, '请输入名称')

        if site_dir[0] != "/" or site_dir[-1] != "/":
            return public.returnMsg(False, '目录格式不正确')
        # if site_dir[0] == "/":
        #     site_dir = site_dir[1:]
        #     if site_dir[-1] == "/":
        #         site_dir = site_dir[:-1]
        passwd = public.hasPwd(get.password)
        site_info = self.get_site_info(get.id)
        site_name = site_info["site_name"]
        if self._check_site_authorization(site_name):
            return public.returnMsg(
                False, '已经设置站点密码保护,请取消后再设置 站点配置 --> 站点目录 --> 密码访问')
        if self._check_dir_auth(site_name, name, site_dir):
            return public.returnMsg(False, '目录已经保护')
        auth = "{user}:{passwd}".format(user=get.username, passwd=passwd)
        auth_file = '{setup_path}/pass/{site_name}'.format(
            setup_path=self.setup_path, site_name=site_name)
        if not os.path.exists(auth_file):
            os.makedirs(auth_file)
        auth_file = auth_file + "/{}.pass".format(name)
        public.writeFile(auth_file, auth)
        # 配置独立认证文件
        self.set_dir_auth_file(site_info["site_path"], site_name, name,
                               get.username, site_dir, auth_file)
        # 配置站点主文件
        result = self.set_conf(site_name, "create")
        if result:
            return result
        # 检查配置
        webserver = public.get_webserver()
        result = self.check_site_conf(webserver, site_name, name)
        if result:
            return result
        # 写配置
        conf = {"name": name, "site_dir": get.site_dir, "auth_file": auth_file}
        self._write_conf(conf, site_name)
        public.serviceReload()
        return public.returnMsg(True, "创建成功")
Example #3
0
 def modify_dir_auth_pass(self,get):
     '''
     get.id
     get.name
     get.username
     get.password
     :param get:
     :return:
     '''
     name = get.name
     site_info = self.get_site_info(get.id)
     site_name = site_info["site_name"]
     passwd = public.hasPwd(get.password)
     auth = "{user}:{passwd}".format(user=get.username,passwd=passwd)
     auth_file = '{setup_path}/pass/{site_name}/{name}.pass'.format(setup_path=self.setup_path,site_name=site_name,name=name)
     public.writeFile(auth_file,auth)
     public.serviceReload()
     return public.returnMsg(True,"修改成功")