def __init__(self, app, conf): self.app = app self.conf = conf self.logger = swift_utils.get_logger(conf, log_route='hermes_keystoneauth') self.reseller_prefixes, self.account_rules = \ config_read_reseller_options(conf, dict(operator_roles=['admin', 'swiftoperator'], service_roles=[], readonly_roles=[])) self.reseller_admin_role = conf.get('reseller_admin_role', 'ResellerAdmin').lower() self.system_reader_roles = { role.lower() for role in list_from_csv(conf.get('system_reader_roles', '')) } config_is_admin = conf.get('is_admin', "false").lower() if swift_utils.config_true_value(config_is_admin): self.logger.warning("The 'is_admin' option for keystoneauth is no " "longer supported. Remove the 'is_admin' " "option from your keystoneauth config") config_overrides = conf.get('allow_overrides', 't').lower() self.allow_overrides = swift_utils.config_true_value(config_overrides) self.default_domain_id = conf.get('default_domain_id', 'default') self.allow_names_in_acls = swift_utils.config_true_value( conf.get('allow_names_in_acls', 'true'))
def __init__(self, app, conf): self.app = app self.conf = conf self.logger = get_logger(conf, log_route='tempauth') self.log_headers = config_true_value(conf.get('log_headers', 'f')) self.reseller_prefixes, self.account_rules = \ config_read_reseller_options(conf, dict(require_group='')) self.reseller_prefix = self.reseller_prefixes[0] self.logger.set_statsd_prefix( 'tempauth.%s' % (self.reseller_prefix if self.reseller_prefix else 'NONE', )) self.auth_prefix = conf.get('auth_prefix', '/auth/') if not self.auth_prefix or not self.auth_prefix.strip('/'): self.logger.warning('Rewriting invalid auth prefix "%s" to ' '"/auth/" (Non-empty auth prefix path ' 'is required)' % self.auth_prefix) self.auth_prefix = '/auth/' if not self.auth_prefix.startswith('/'): self.auth_prefix = '/' + self.auth_prefix if not self.auth_prefix.endswith('/'): self.auth_prefix += '/' self.token_life = int(conf.get('token_life', DEFAULT_TOKEN_LIFE)) self.allow_overrides = config_true_value( conf.get('allow_overrides', 't')) self.storage_url_scheme = conf.get('storage_url_scheme', 'default') self.users = {} for conf_key in conf: if conf_key.startswith(('user_', 'user64_')): try: account, username = conf_key.split('_', 1)[1].split('_') except ValueError: raise ValueError("key %s was provided in an " "invalid format" % conf_key) if conf_key.startswith('user64_'): # Because trailing equal signs would screw up config file # parsing, we auto-pad with '=' chars. account += '=' * (len(account) % 4) account = base64.b64decode(account) username += '=' * (len(username) % 4) username = base64.b64decode(username) if not six.PY2: account = account.decode('utf8') username = username.decode('utf8') values = conf[conf_key].split() if not values: raise ValueError('%s has no key set' % conf_key) key = values.pop(0) if values and ('://' in values[-1] or '$HOST' in values[-1]): url = values.pop() else: url = '$HOST/v1/%s%s' % (self.reseller_prefix, quote(account)) self.users[account + ':' + username] = { 'key': key, 'url': url, 'groups': values }
def __init__(self, app, conf): print('++++++++++++++++++start (__init__)+++++++++++++++++++ in /middleware/tempauth.py') print('app = %s , conf = %s '%(app,conf)) self.app = app self.conf = conf self.logger = get_logger(conf, log_route='tempauth') self.log_headers = config_true_value(conf.get('log_headers', 'f')) self.reseller_prefixes, self.account_rules = \ config_read_reseller_options(conf, dict(require_group='')) self.reseller_prefix = self.reseller_prefixes[0] self.logger.set_statsd_prefix('tempauth.%s' % ( self.reseller_prefix if self.reseller_prefix else 'NONE',)) self.auth_prefix = conf.get('auth_prefix', '/auth/') if not self.auth_prefix or not self.auth_prefix.strip('/'): self.logger.warning('Rewriting invalid auth prefix "%s" to ' '"/auth/" (Non-empty auth prefix path ' 'is required)' % self.auth_prefix) self.auth_prefix = '/auth/' if self.auth_prefix[0] != '/': self.auth_prefix = '/' + self.auth_prefix if self.auth_prefix[-1] != '/': self.auth_prefix += '/' self.token_life = int(conf.get('token_life', 86400)) self.allow_overrides = config_true_value( conf.get('allow_overrides', 't')) self.storage_url_scheme = conf.get('storage_url_scheme', 'default') self.users = {} for conf_key in conf: if conf_key.startswith('user_') or conf_key.startswith('user64_'): account, username = conf_key.split('_', 1)[1].split('_') print('account = %s , username = %s '%(account,username)) if conf_key.startswith('user64_'): # Because trailing equal signs would screw up config file # parsing, we auto-pad with '=' chars. account += '=' * (len(account) % 4) account = base64.b64decode(account) username += '=' * (len(username) % 4) username = base64.b64decode(username) values = conf[conf_key].split() print('values = %s '%values) if not values: raise ValueError('%s has no key set' % conf_key) key = values.pop(0) print('key = %s'%key) if values and ('://' in values[-1] or '$HOST' in values[-1]): url = values.pop() else: url = '$HOST/v1/%s%s' % (self.reseller_prefix, account) self.users[account + ':' + username] = { 'key': key, 'url': url, 'groups': values} print('self.users = %s'%self.users) print('++++++++++++++++++end (__init__)+++++++++++++++++++ in /middleware/tempauth.py')
def __init__(self, app, conf): self.app = app self.conf = conf self.logger = swift_utils.get_logger(conf, log_route="keystoneauth") self.reseller_prefixes, self.account_rules = config_read_reseller_options( conf, dict(operator_roles=["admin", "swiftoperator"], service_roles=[]) ) self.reseller_admin_role = conf.get("reseller_admin_role", "ResellerAdmin").lower() config_is_admin = conf.get("is_admin", "false").lower() self.is_admin = swift_utils.config_true_value(config_is_admin) config_overrides = conf.get("allow_overrides", "t").lower() self.allow_overrides = swift_utils.config_true_value(config_overrides) self.default_domain_id = conf.get("default_domain_id", "default") self.allow_names_in_acls = swift_utils.config_true_value(conf.get("allow_names_in_acls", "true"))
def __init__(self, app, conf): self.app = app self.conf = conf self.logger = swift_utils.get_logger(conf, log_route='keystoneauth') self.reseller_prefixes, self.account_rules = \ config_read_reseller_options(conf, dict(operator_roles=['admin', 'swiftoperator'], service_roles=[])) self.reseller_admin_role = conf.get('reseller_admin_role', 'ResellerAdmin').lower() config_is_admin = conf.get('is_admin', "false").lower() self.is_admin = swift_utils.config_true_value(config_is_admin) config_overrides = conf.get('allow_overrides', 't').lower() self.allow_overrides = swift_utils.config_true_value(config_overrides) self.default_domain_id = conf.get('default_domain_id', 'default') self.allow_names_in_acls = swift_utils.config_true_value( conf.get('allow_names_in_acls', 'true'))
def __init__(self, app, conf): self.app = app self.conf = conf self.logger = get_logger(conf, log_route="tempauth") self.log_headers = config_true_value(conf.get("log_headers", "f")) self.reseller_prefixes, self.account_rules = config_read_reseller_options(conf, dict(require_group="")) self.reseller_prefix = self.reseller_prefixes[0] self.logger.set_statsd_prefix("tempauth.%s" % (self.reseller_prefix if self.reseller_prefix else "NONE",)) self.auth_prefix = conf.get("auth_prefix", "/auth/") if not self.auth_prefix or not self.auth_prefix.strip("/"): self.logger.warning( 'Rewriting invalid auth prefix "%s" to ' '"/auth/" (Non-empty auth prefix path ' "is required)" % self.auth_prefix ) self.auth_prefix = "/auth/" if self.auth_prefix[0] != "/": self.auth_prefix = "/" + self.auth_prefix if self.auth_prefix[-1] != "/": self.auth_prefix += "/" self.token_life = int(conf.get("token_life", 86400)) self.allow_overrides = config_true_value(conf.get("allow_overrides", "t")) self.storage_url_scheme = conf.get("storage_url_scheme", "default") self.users = {} for conf_key in conf: if conf_key.startswith("user_") or conf_key.startswith("user64_"): account, username = conf_key.split("_", 1)[1].split("_") if conf_key.startswith("user64_"): # Because trailing equal signs would screw up config file # parsing, we auto-pad with '=' chars. account += "=" * (len(account) % 4) account = base64.b64decode(account) username += "=" * (len(username) % 4) username = base64.b64decode(username) values = conf[conf_key].split() if not values: raise ValueError("%s has no key set" % conf_key) key = values.pop(0) if values and ("://" in values[-1] or "$HOST" in values[-1]): url = values.pop() else: url = "$HOST/v1/%s%s" % (self.reseller_prefix, account) self.users[account + ":" + username] = {"key": key, "url": url, "groups": values}
def __init__(self, app, conf): self.app = app self.conf = conf self.logger = get_logger(conf, log_route='tempauth') self.log_headers = config_true_value(conf.get('log_headers', 'f')) self.reseller_prefixes, self.account_rules = \ config_read_reseller_options(conf, dict(require_group='')) self.reseller_prefix = self.reseller_prefixes[0] self.logger.set_statsd_prefix('tempauth.%s' % ( self.reseller_prefix if self.reseller_prefix else 'NONE',)) self.auth_prefix = conf.get('auth_prefix', '/auth/') if not self.auth_prefix or not self.auth_prefix.strip('/'): self.logger.warning('Rewriting invalid auth prefix "%s" to ' '"/auth/" (Non-empty auth prefix path ' 'is required)' % self.auth_prefix) self.auth_prefix = '/auth/' if self.auth_prefix[0] != '/': self.auth_prefix = '/' + self.auth_prefix if self.auth_prefix[-1] != '/': self.auth_prefix += '/' self.token_life = int(conf.get('token_life', 86400)) self.allow_overrides = config_true_value( conf.get('allow_overrides', 't')) self.storage_url_scheme = conf.get('storage_url_scheme', 'default') self.users = {} self.admins = {} account = 'mac' conn = MySQLdb.connect(host="localhost", user="******", passwd="root", db="auth", charset="utf8") cur = conn.cursor() cur1 = conn.cursor() cur.execute('select * from TUser') cur1.execute('select * from TAdmin') for row in cur.fetchall(): user = row[3].encode('utf-8') url = '$HOST/v1/%s%s' % (self.reseller_prefix, account) self.users[user] = {'url': url} for row1 in cur1.fetchall(): name = row1[1].encode('utf-8') password = row1[2].encode('utf-8') url = '$HOST/v1/%s%s' % (self.reseller_prefix, account) self.admins[name] = {'url': url, 'passwd': password}