""" ldap信息填写 """ from flask import Blueprint from flask_restful import reqparse, Resource, Api import sys from units.json_response import JsonResponse from units.ldap.ldap_consul import Ldap_Consul sys.path.append("..") from units import token_auth, consul_kv,myaes from itsdangerous import TimedJSONWebSignatureSerializer secret_key = consul_kv.get_value('ConsulManager/assets/secret/skey')['sk'] s = TimedJSONWebSignatureSerializer(secret_key,expires_in=28800) blueprint = Blueprint('ldap',__name__) api = Api(blueprint) parser = reqparse.RequestParser() parser.add_argument('ldap_url',type=str) parser.add_argument('password',type=str) parser.add_argument('port',type=str) parser.add_argument('rule',type=str) parser.add_argument('ldapusr',type=str) parser.add_argument('allow',type=str) class LdapView(Resource): """ 封装了公共返回格式 {"code": code,"success": success, "message": msg, "data": data} """ decorators = [token_auth.auth.login_required] def post(self,): args = parser.parse_args() Ldap_Consul.set_consul_args(**args) return JsonResponse(data="", code=20000, success=True, msg="添加统一认证成功") def get(self): ldap_info = consul_kv.get_value('ConsulManager/ldap/report') if ldap_info: ldap_info["password"] = myaes.decrypt(ldap_info["password"]) else: ldap_info = {'port': '389', 'allow': '*'} return {'code': 20000, 'ldap_info': ldap_info} def delete(self): consul_kv.del_key('ConsulManager/ldap/report') return {'code': 20000, 'data': 'DLAP登录配置已清除!'} api.add_resource(LdapView, '/api/ldap/config')