public void Initialize(object config) { String configStr = YamlHelpers.Serialize(config); this.config = YamlHelpers.Deserialize <DaclRoles>(configStr); ProcessRoleConfig(this.config); }
private void ProcessRoleConfig(DaclRoles config) { foreach (DaclRole role in config.Roles) { Roles.Add(role.Name, role); UpdateAllowedActions(role.Name, role.AllowedActions); } // Load "Role Inheritance" Values foreach (DaclRole role in config.Roles) { if (role.ExtendsRoles != null) { foreach (string parent in role.ExtendsRoles) { if (Roles.ContainsKey(parent)) { UpdateAllowedActions(role.Name, Roles[parent].AllowedActions); } } } } }