Show More
@@ -171,11 +171,6 b' class RhodeCodeAuthPluginBase(object):' | |||
|
171 | 171 | db_type = '{}.encrypted'.format(db_type) |
|
172 | 172 | return db_type |
|
173 | 173 | |
|
174 | @LazyProperty | |
|
175 | def plugin_settings(self): | |
|
176 | settings = SettingsModel().get_all_settings() | |
|
177 | return settings | |
|
178 | ||
|
179 | 174 | def is_enabled(self): |
|
180 | 175 | """ |
|
181 | 176 | Returns true if this plugin is enabled. An enabled plugin can be |
@@ -185,12 +180,13 b' class RhodeCodeAuthPluginBase(object):' | |||
|
185 | 180 | auth_plugins = SettingsModel().get_auth_plugins() |
|
186 | 181 | return self.get_id() in auth_plugins |
|
187 | 182 | |
|
188 | def is_active(self): | |
|
183 | def is_active(self, plugin_cached_settings=None): | |
|
189 | 184 | """ |
|
190 | 185 | Returns true if the plugin is activated. An activated plugin is |
|
191 | 186 | consulted during authentication, assumed it is also enabled. |
|
192 | 187 | """ |
|
193 |
return self.get_setting_by_name( |
|
|
188 | return self.get_setting_by_name( | |
|
189 | 'enabled', plugin_cached_settings=plugin_cached_settings) | |
|
194 | 190 | |
|
195 | 191 | def get_id(self): |
|
196 | 192 | """ |
@@ -210,13 +206,24 b' class RhodeCodeAuthPluginBase(object):' | |||
|
210 | 206 | """ |
|
211 | 207 | return AuthnPluginSettingsSchemaBase() |
|
212 | 208 | |
|
213 | def get_setting_by_name(self, name, default=None, cache=True): | |
|
209 | def get_settings(self): | |
|
210 | """ | |
|
211 | Returns the plugin settings as dictionary. | |
|
212 | """ | |
|
213 | settings = {} | |
|
214 | raw_settings = SettingsModel().get_all_settings() | |
|
215 | for node in self.get_settings_schema(): | |
|
216 | settings[node.name] = self.get_setting_by_name( | |
|
217 | node.name, plugin_cached_settings=raw_settings) | |
|
218 | return settings | |
|
219 | ||
|
220 | def get_setting_by_name(self, name, default=None, plugin_cached_settings=None): | |
|
214 | 221 | """ |
|
215 | 222 | Returns a plugin setting by name. |
|
216 | 223 | """ |
|
217 | 224 | full_name = 'rhodecode_{}'.format(self._get_setting_full_name(name)) |
|
218 | if cache: | |
|
219 |
plugin_settings = |
|
|
225 | if plugin_cached_settings: | |
|
226 | plugin_settings = plugin_cached_settings | |
|
220 | 227 | else: |
|
221 | 228 | plugin_settings = SettingsModel().get_all_settings() |
|
222 | 229 | |
@@ -235,15 +242,6 b' class RhodeCodeAuthPluginBase(object):' | |||
|
235 | 242 | full_name, value, type_) |
|
236 | 243 | return db_setting.app_settings_value |
|
237 | 244 | |
|
238 | def get_settings(self): | |
|
239 | """ | |
|
240 | Returns the plugin settings as dictionary. | |
|
241 | """ | |
|
242 | settings = {} | |
|
243 | for node in self.get_settings_schema(): | |
|
244 | settings[node.name] = self.get_setting_by_name(node.name) | |
|
245 | return settings | |
|
246 | ||
|
247 | 245 | def log_safe_settings(self, settings): |
|
248 | 246 | """ |
|
249 | 247 | returns a log safe representation of settings, without any secrets |
@@ -685,7 +683,8 b' def authenticate(username, password, env' | |||
|
685 | 683 | environ=environ or {}) |
|
686 | 684 | |
|
687 | 685 | if plugin_cache_active: |
|
688 |
log.debug('Trying to fetch cached auth by `...%s`', |
|
|
686 | log.debug('Trying to fetch cached auth by pwd hash `...%s`', | |
|
687 | _password_hash[:6]) | |
|
689 | 688 | plugin_user = cache_manager.get( |
|
690 | 689 | _password_hash, createfunc=auth_func) |
|
691 | 690 | else: |
@@ -70,9 +70,11 b' class AuthenticationPluginRegistry(objec' | |||
|
70 | 70 | # Add all enabled and active plugins to the list. We iterate over the |
|
71 | 71 | # auth_plugins setting from DB because it also represents the ordering. |
|
72 | 72 | enabled_plugins = SettingsModel().get_auth_plugins() |
|
73 | raw_settings = SettingsModel().get_all_settings() | |
|
73 | 74 | for plugin_id in enabled_plugins: |
|
74 | 75 | plugin = self.get_plugin(plugin_id) |
|
75 |
if plugin is not None and plugin.is_active( |
|
|
76 | if plugin is not None and plugin.is_active( | |
|
77 | plugin_cached_settings=raw_settings): | |
|
76 | 78 | plugins.append(plugin) |
|
77 | 79 | |
|
78 | 80 | # Add the fallback plugin from ini file. |
@@ -63,7 +63,7 b' class AuthnPluginViewBase(BaseAppView):' | |||
|
63 | 63 | for node in schema: |
|
64 | 64 | if node.name not in defaults: |
|
65 | 65 | defaults[node.name] = self.plugin.get_setting_by_name( |
|
66 |
node.name, node.default |
|
|
66 | node.name, node.default) | |
|
67 | 67 | |
|
68 | 68 | template_context = { |
|
69 | 69 | 'defaults': defaults, |
General Comments 0
You need to be logged in to leave comments.
Login now