mirror of
git://git.proxmox.com/git/proxmox-backup.git
synced 2025-01-08 21:18:07 +03:00
config: domains: add new "ad" section type for AD realms
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com> Reviewed-by: Lukas Wagner <l.wagner@proxmox.com> Tested-by: Lukas Wagner <l.wagner@proxmox.com>
This commit is contained in:
parent
c7051f3342
commit
d07013a46c
@ -8,13 +8,14 @@ use proxmox_schema::{ApiType, ObjectSchema};
|
||||
use proxmox_section_config::{SectionConfig, SectionConfigData, SectionConfigPlugin};
|
||||
|
||||
use crate::{open_backup_lockfile, replace_backup_config, BackupLockGuard};
|
||||
use pbs_api_types::{LdapRealmConfig, OpenIdRealmConfig, REALM_ID_SCHEMA};
|
||||
use pbs_api_types::{AdRealmConfig, LdapRealmConfig, OpenIdRealmConfig, REALM_ID_SCHEMA};
|
||||
|
||||
lazy_static! {
|
||||
pub static ref CONFIG: SectionConfig = init();
|
||||
}
|
||||
|
||||
fn init() -> SectionConfig {
|
||||
const AD_SCHEMA: &ObjectSchema = AdRealmConfig::API_SCHEMA.unwrap_object_schema();
|
||||
const LDAP_SCHEMA: &ObjectSchema = LdapRealmConfig::API_SCHEMA.unwrap_object_schema();
|
||||
const OPENID_SCHEMA: &ObjectSchema = OpenIdRealmConfig::API_SCHEMA.unwrap_object_schema();
|
||||
|
||||
@ -33,6 +34,10 @@ fn init() -> SectionConfig {
|
||||
|
||||
config.register_plugin(plugin);
|
||||
|
||||
let plugin = SectionConfigPlugin::new("ad".to_string(), Some(String::from("realm")), AD_SCHEMA);
|
||||
|
||||
config.register_plugin(plugin);
|
||||
|
||||
config
|
||||
}
|
||||
|
||||
|
@ -310,6 +310,8 @@ pub(crate) fn lookup_authenticator(
|
||||
let (domains, _digest) = pbs_config::domains::config()?;
|
||||
if let Ok(config) = domains.lookup::<LdapRealmConfig>("ldap", realm) {
|
||||
Ok(Box::new(LdapAuthenticator { config }))
|
||||
} else if let Ok(config) = domains.lookup::<AdRealmConfig>("ad", realm) {
|
||||
Ok(Box::new(AdAuthenticator { config }))
|
||||
} else if domains.lookup::<OpenIdRealmConfig>("openid", realm).is_ok() {
|
||||
Ok(Box::new(OpenIdAuthenticator()))
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user