예제 #1
0
    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'))
예제 #2
0
 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
             }
예제 #3
0
 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')
예제 #4
0
 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'))
예제 #6
0
 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'))
예제 #7
0
 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}
예제 #8
0
파일: tempauth.py 프로젝트: hbhdytf/mac
 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}