---
name: "Catalyst::Plugin::Authorization::ACL::Engine"
section: "3pm"
platform: "linux"
package: "libcatalyst-plugin-authorization-acl-perl"
version: "0.16-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Catalyst::Plugin::Authorization::ACL::Engine"
---

# Catalyst::Plugin::Authorization::ACL::Engine(3pm)

The backend that computes ACL checks for Catalyst::Plugin::Authorization::ACL.

## NAME

Catalyst::Plugin::Authorization::ACL::Engine - The backend that computes ACL checks for Catalyst::Plugin::Authorization::ACL.

## SYNOPSIS

```
        # internal
```

## METHODS

- new $app

  Create a new rule engine for `$app`

- add\_allow $cond

  - add\_deny $cond

  fudge `$cond`, make cond into a rule, and `"add_rule"`

- add\_rule $path, $rule

  Add rule to all actions under `$path`

- append\_rule\_to\_action $action, $index, $rule, $cxt

  Append `$rule` to `$action` in slot `$index`, and store context info `$cxt` for error reporting.

- check\_action\_rules $action

  Evaluate the rules for an action

- fudge\_condition $thingy

  Converts a `$thingy` into a subref, for DWIM goodness. See the main ACL docs.

- get\_action\_data $action

  - get\_cxt\_for\_rule $rule

  - get\_rules

  ## DESCRIPTION

This is the engine which executes the access control checks for Catalyst::Plugin::Authorization::ACL. Please use that module directly.

## TODO

```
    * external uris -> private paths
```
