View Source Acl

ACL or access control list is a list of permissions attached to a specific object for certain users. This ACL is designed to be used in a phoenix (Elixir) project and handles all your permissions management. It requires following dependencies

  {:ecto_sql, "\~> 3.10"}  
  {:jason, "\~> 1.2"}
  {:plug_cowboy, "\~> 1.0.0"}
  {:ex_doc, ">= 0.0.0", only: :dev}
  {:phoenix, "\~> 1.7.10"}
  {:phoenix_ecto, "\~> 4.4"}
  {:postgrex, ">= 0.0.0"}
  {:phoenix_html, "\~> 3.3"}
  {:phoenix_live_reload, "\~> 1.2", only: :dev}
  {:gettext, "\~> 0.20"}
  {:plug_cowboy, "~> 2.5"}

Installation guide

To add ACL to your project simply add to your projects dependencies

{:acl, "~> 0.5.0"}

and run mix deps.get then you need to add :acl to your application in mix.exs

def application do
[
  extra_applications: [:acl]
]
end

and also add configuration for :acl in your config file

config :acl, Acl.Repo,
   repo: MyApp.Repo

you also need to run migrations for acl, which creates tables required for the acl, you can find migrations inside acl folder in your deps directory. or update your aliases function in mix.exs

"ecto.setup": ["ecto.create", "acl.migrate", "ecto.migrate", "run priv/repo/seeds.exs"],
"acl.migrate": ["ecto.migrate --migrations-path deps/acl/priv/repo/migrations"],
"ecto.migrate": ["ecto.migrate --migrations-path ./"],
  • Run mix setup to install and setup dependencies
  • Start Phoenix endpoint with mix phx.server or inside IEx with iex -S mix phx.server

Now you can visit localhost:4000 from your browser.

Ready to run in production? Please check our deployment guides.

Learn more