Exemplo n.º 1
0
    public void Initialize(object config)
    {
        String configStr = YamlHelpers.Serialize(config);

        this.config = YamlHelpers.Deserialize <DaclRoles>(configStr);
        ProcessRoleConfig(this.config);
    }
Exemplo n.º 2
0
    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);
                    }
                }
            }
        }
    }