models.util

Class RulesLoader

lucee.Component
    extended by models.util.RulesLoader

Copyright since 2016 by Ortus Solutions, Corp www.ortussolutions.com --- Rule loader service. This object is in charge of loading rules from many different types of sources: - xml - json - array - database - model

Class Attributes:
  • threadsafe
  •  
  • singleton
  •  
  • synchronized : false
  •  
  • accessors : true
  •  
  • persistent : false
  •  
    Property Summary
    type property default serializable required
    any controller


    • access = public
    • returntype = any
    • inject = coldbox
    true false
    any wirebox


    • access = public
    • returntype = any
    • inject = wirebox
    true false
    Constructor Summary
    init()
          Constructor.
    Method Summary
    string getController()
    struct getRuleTemplate()
         Creates a default rule template with all our required fields and defaults.
    string getWirebox()
    array loadDBRules(any provider, [any defaults='[runtime expression]'])
         Load rules from a database.
    array loadJsonRules(any provider, [any defaults='[runtime expression]'])
         Load rules from json file.
    any loadModelRules(any provider, [any defaults='[runtime expression]'])
         Load rules from an IOC bean.
    array loadRules(any provider, [any defaults='[runtime expression]'])
         Load the appropriate rules from the source and return them in consumable focus.
    any loadXmlRules(any provider, [any defaults='[runtime expression]'])
         Load rules from an XML file.
    array normalizeRules(array rules, [any module=''], [any defaults='[runtime expression]'])
         Utility function to normalize an array of rules to our standards.
    private struct parseXmlRule(any xmlNode)
         Parse an XML node into a cbSecurity rule.
    private any queryToArray(any query)
         Convert the query to an array of rules.
    RulesLoader rulesSourceChecks(any provider)
         Validate from where we are getting rules from.
    any setController(any controller)
    any setWirebox(any wirebox)
     
    Methods inherited from class lucee.Component
    None

    Constructor Detail

    init

    public init()

    Constructor


    Property Detail

    controller

    property any controller

    Attributes:
    access - public
    required - false
    returntype - any
    inject - coldbox
    serializable - true

    wirebox

    property any wirebox

    Attributes:
    access - public
    required - false
    returntype - any
    inject - wirebox
    serializable - true

    Method Detail

    getController

    public string getController()


    getRuleTemplate

    public struct getRuleTemplate()

    Creates a default rule template with all our required fields and defaults


    getWirebox

    public string getWirebox()


    loadDBRules

    public array loadDBRules(any provider, [any defaults='[runtime expression]'])

    Load rules from a database

    Parameters:
    provider - The firewall rules provider configuration
    defaults - Defaults to incorporate to each rule

    loadJsonRules

    public array loadJsonRules(any provider, [any defaults='[runtime expression]'])

    Load rules from json file

    Parameters:
    provider - The firewall rules provider configuration
    defaults - Defaults to incorporate to each rule

    loadModelRules

    public any loadModelRules(any provider, [any defaults='[runtime expression]'])

    Load rules from an IOC bean

    Parameters:
    provider - The firewall rules provider configuration
    defaults - Defaults to incorporate to each rule

    loadRules

    public array loadRules(any provider, [any defaults='[runtime expression]'])

    Load the appropriate rules from the source and return them in consumable focus.

    Parameters:
    provider - The firewall rules provider configuration
    defaults - Defaults to incorporate to each rule
    Returns:
    The loaded rules the source produced

    loadXmlRules

    public any loadXmlRules(any provider, [any defaults='[runtime expression]'])

    Load rules from an XML file

    Parameters:
    provider - The firewall rules provider configuration
    defaults - Defaults to incorporate to each rule

    normalizeRules

    public array normalizeRules(array rules, [any module=''], [any defaults='[runtime expression]'])

    Utility function to normalize an array of rules to our standards

    Parameters:
    rules - The rules to normalize
    module - The module to incorporate if passed
    defaults - A set of defaults to incorporate into the rules

    parseXmlRule

    private struct parseXmlRule(any xmlNode)

    Parse an XML node into a cbSecurity rule

    Parameters:
    xmlNode - The XML node to parse

    queryToArray

    private any queryToArray(any query)

    Convert the query to an array of rules

    Parameters:
    query - The target query to convert

    rulesSourceChecks

    public RulesLoader rulesSourceChecks(any provider)

    Validate from where we are getting rules from. This prepares the settings and normalizes them.

    Parameters:
    provider - The firewall rules provider configuration
    Throws:
    Security.MissingSourceProperty - When a source is missing a required

    setController

    public any setController(any controller)

    Parameters:
    controller

    setWirebox

    public any setWirebox(any wirebox)

    Parameters:
    wirebox