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, "创建成功")
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,"修改成功")