Consul

screenshot of Consul
rails

Scope-based authorization for Ruby on Rails.

Overview:

Consul is a next-generation authorization solution designed for Ruby on Rails applications. It provides a way to control user access based on sets of accessible items, allowing developers to define permissions for what users can see or edit.

Features:

  • Flexible Authorization Rules: Define sets of accessible items to control user access.
  • Support for Various Ruby/Rails Versions: Tested with Rails 5.2, 6.1, 7.0, 7.1 on Ruby 2.5, 2.7, 3.2, 3.3.
  • Customizable Power Models: Users can describe access to the application by placing a Power model in app/models/power.rb.
  • Different Access Levels: Easily restrict access to ActiveRecord models based on specific criteria.
  • Boolean Powers: Control access to non-database elements using boolean powers.
  • Fine-Grained Control: Define different powers for viewing, updating, or other actions.
  • Null Access Handling: Ability to signify no access by having the respective power return nil.

Summary:

Consul is a versatile authorization solution for Ruby on Rails that offers a range of features to control user access efficiently. By defining Power models with specific rules, developers can manage permissions for viewing, editing, and accessing different parts of their application. This flexibility, combined with support for multiple Ruby and Rails versions, makes Consul a valuable tool for implementing robust authorization mechanisms in Rails projects.

rails
Ruby on Rails

Ruby on Rails, often referred to as Rails, is an open-source web application framework written in Ruby. Known for its convention over configuration and don't repeat yourself (DRY) principles, Rails simplifies and accelerates the development of database-backed web applications.