Benchee 0.4.0 released – adjust what is printed Actors vs Objects

Introducing PolicyWonk - Elixir/Phoenix Authorization Library

PolicyWonk is a lightweight authorization and resource loading library for any Plug or Phoenix application. Authorization (Auth-Z) is the process of deciding what a user/entity is allowed to do after they’ve been authenticated.

PolicyWonk provides three main plugs.

  • PolicyWonk.LoadResource loads resources into the conn’s assigns map.
  • PolicyWonk.Enforce evaluates a specified policy. It either continues or halts the plug chain depending on the policy result.
  • PolicyWonk.EnforceAction evaluates a policy for each incoming controller action in Phoenix.

Decisions are made before controller actions are called, isolating authorization logic, encouraging policy re-use, and reducing the odds of messing Auth-Z up as you develop your controllers.

In a router:

  pipeline :browser_session do
    plug PolicyWonk.LoadResource, :current_user
    plug PolicyWonk.Enforce, :current_user
  end

  pipeline :admin do
    plug PolicyWonk.Enforce, {:user_permission, "admin"}
  end

In a controller:

  plug PolicyWonk.Enforce, {:user_permission, "admin_content"}
  plug PolicyWonk.EnforceAction

Check it out here: