Compare commits
1 Commits
master
...
b6c5a50148
| Author | SHA1 | Date | |
|---|---|---|---|
|
b6c5a50148
|
@@ -49,6 +49,7 @@ struct AccessControl {
|
|||||||
|
|
||||||
#[derive(Serialize, Deserialize, Clone, Debug, Hash)]
|
#[derive(Serialize, Deserialize, Clone, Debug, Hash)]
|
||||||
struct TopLevel {
|
struct TopLevel {
|
||||||
|
default_policy: AccessPolicy,
|
||||||
access_control: AccessControl,
|
access_control: AccessControl,
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -60,13 +61,19 @@ impl AccessControlRule {
|
|||||||
debug!("Updating acl");
|
debug!("Updating acl");
|
||||||
rules.sort_by_cached_key(|rule| rule.name_any());
|
rules.sort_by_cached_key(|rule| rule.name_any());
|
||||||
|
|
||||||
let rules = rules
|
let rules: Vec<_> = rules
|
||||||
.iter()
|
.iter()
|
||||||
.inspect(|rule| trace!(name = rule.name_any(), "Rule found"))
|
.inspect(|rule| trace!(name = rule.name_any(), "Rule found"))
|
||||||
.map(|rule| rule.spec.clone())
|
.map(|rule| rule.spec.clone())
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
let top = TopLevel {
|
let top = TopLevel {
|
||||||
|
// TODO: Make sure configurable?
|
||||||
|
default_policy: if rules.is_empty() {
|
||||||
|
AccessPolicy::OneFactor
|
||||||
|
} else {
|
||||||
|
AccessPolicy::Deny
|
||||||
|
},
|
||||||
access_control: AccessControl { rules },
|
access_control: AccessControl { rules },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user