awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
palkan avatar

palkan/action_policy

0
View on GitHub↗
1,557 stars·90 forks·Ruby·MIT·4 vuesactionpolicy.evilmartians.io↗

Action Policy

Action Policy is a Ruby authorization framework designed to manage user access and permissions by encapsulating security logic into dedicated policy classes. It provides a structured system for defining access rules that evaluate user actions against specific application resources, ensuring that security logic remains decoupled from the primary application code.

The framework distinguishes itself through its ability to handle complex authorization requirements across diverse interfaces, including web controllers and various API formats. It supports dynamic permission evaluation by utilizing a shared context object that incorporates user identity and request metadata. Furthermore, it includes built-in mechanisms for database record scoping, which automatically filters collections to ensure users only access data they are authorized to see.

To maintain application performance, the framework incorporates a caching layer that stores the results of expensive permission evaluations and handles automatic invalidation when underlying data changes. It also provides comprehensive observability tools, including execution tracing and debugging utilities, to help developers inspect and verify the logic behind specific access decisions.

The project includes command-line utilities for scaffolding policy structures and testing access rules against various conditions. It is designed for integration within Ruby on Rails applications, offering middleware to validate permissions during request handling and programmatic interfaces for manual authorization checks.

Features

  • Ruby on Rails Frameworks - Provides a structured authorization framework specifically designed for Ruby on Rails applications.
  • Authorization Scope Classes - Uses policy-defined scope classes to automatically filter database queries to records the current user is permitted to see.
  • Authorized Record Filtering - Filters database queries and collections automatically based on user permissions to ensure data security.
  • Access Policies - Encapsulates security logic into dedicated policy classes that evaluate user permissions against application resources.
  • Access Control - Enforces access control during request handling by automatically raising errors for unauthorized actions.
  • Policy-Based Access Control - Encapsulates complex permission logic into standalone classes that evaluate user actions against resources.
  • Ruby Authorization Frameworks - Provides a comprehensive library for defining and enforcing access control policies within Ruby applications.
  • Context-Aware Policy Engines - Injects runtime user identity and request metadata into authorization decisions for dynamic, context-aware rule evaluation.
  • Business Logic Encapsulations - Isolates access control logic into dedicated policy classes to keep application code maintainable and decoupled.
  • Authorization Result Caches - Optimizes application performance by caching the results of expensive permission checks.
  • Evaluation Result Caches - Caches expensive permission evaluations with automatic invalidation to improve application response times.
  • Action Integrity Validation - Ensures users can only perform authorized state changes on their own data by validating actions against records.
  • API Access Control - Enforces consistent security policies across diverse API formats like GraphQL and JSON API.
  • Authorization Middleware - Validates user permissions during request handling via middleware to enforce access control.
  • Custom Authorization Logic - Supports passing custom user or environment data into authorization checks for dynamic permission logic.
  • Object Action Authorization - Allows developers to manually verify if a user is permitted to perform a specific action on an object instance.
  • Fine-Grained Permission Checking - Provides high-performance evaluation of whether a user is authorized to perform specific actions on resources.
  • Policy Logic Testing - Provides utilities to verify policy rules against various conditions to ensure logical correctness.
  • Integration Adapters - Decouples authorization logic from the transport layer using architectural abstraction layers to support diverse interfaces.
  • Rule Evaluators - Offers debugging tools to inspect and trace the evaluation logic of authorization rules.
  • Authorization Execution Tracing - Captures and logs step-by-step execution paths of authorization rules to provide visibility into access decisions.

Historique des stars

Graphique de l'historique des stars pour palkan/action_policyGraphique de l'historique des stars pour palkan/action_policy

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Collections incluant Action Policy

Sélections manuelles où Action Policy apparaît.
  • Authorization patterns
  • Bibliothèques de contrôle d'accès basé sur les attributs (ABAC)
  • Bibliothèques de contrôle d'accès basé sur les rôles (RBAC)

Questions fréquentes

Que fait palkan/action_policy ?

Action Policy is a Ruby authorization framework designed to manage user access and permissions by encapsulating security logic into dedicated policy classes. It provides a structured system for defining access rules that evaluate user actions against specific application resources, ensuring that security logic remains decoupled from the primary application code.

Quelles sont les fonctionnalités principales de palkan/action_policy ?

Les fonctionnalités principales de palkan/action_policy sont : Ruby on Rails Frameworks, Authorization Scope Classes, Authorized Record Filtering, Access Policies, Access Control, Policy-Based Access Control, Ruby Authorization Frameworks, Context-Aware Policy Engines.

Quelles sont les alternatives open-source à palkan/action_policy ?

Les alternatives open-source à palkan/action_policy incluent : cerbos/cerbos — Cerbos is an open-source authorization service that provides a centralized, language-agnostic engine for managing… casbin/casbin — Casbin is an authorization library that provides a model-based engine for enforcing access control across diverse… varvet/pundit — Pundit is an authorization framework for Ruby applications that enforces permissions through plain Ruby policy… elabs/pundit — Pundit is a Ruby authorization framework that implements policy-based access control. It maps domain models to… nathanl/authority — Authority is an authorization framework for Ruby on Rails applications that manages user permissions and access… rmosolgo/graphql-ruby — GraphQL-Ruby is a Ruby library for building GraphQL APIs with a strongly typed schema and a dedicated query execution…

Alternatives open source à Action Policy

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Action Policy.
  • cerbos/cerbosAvatar de cerbos

    cerbos/cerbos

    4,460Voir sur GitHub↗

    Cerbos is an open-source authorization service that provides a centralized, language-agnostic engine for managing access control. It functions as a policy-as-code platform, allowing teams to define, test, and distribute authorization rules using declarative YAML or JSON configurations. By decoupling access logic from application code, it enables consistent permission enforcement across diverse service stacks. The project distinguishes itself through its ability to translate high-level authorization policies into native database query filters. This capability allows applications to enforce sec

    Goaccess-controlauthorizationgo
    Voir sur GitHub↗4,460
  • casbin/casbinAvatar de casbin

    casbin/casbin

    19,848Voir sur GitHub↗

    Casbin is an authorization library that provides a model-based engine for enforcing access control across diverse application environments. It decouples authorization logic from application code by using a configuration-driven approach, allowing developers to define access rules and evaluation logic independently. The system supports a wide range of access control models, including role-based, attribute-based, and relationship-based patterns, which are evaluated at runtime to determine if a subject is permitted to perform an action on a resource. The project distinguishes itself through a hig

    Goabacaccess-controlacl
    Voir sur GitHub↗19,848
  • varvet/punditAvatar de varvet

    varvet/pundit

    8,509Voir sur GitHub↗

    Pundit is an authorization framework for Ruby applications that enforces permissions through plain Ruby policy objects. It maps controller actions to policy methods, automatically inferring which policy class and query method to call based on the action name, and raises a custom exception when access is denied. The framework distinguishes itself by using plain Ruby classes without external DSLs or configuration files, and by providing a development-time verification guard that raises an error if a controller action runs without an authorization call. It also supports namespace-based policy or

    Rubyruby
    Voir sur GitHub↗8,509
  • elabs/punditAvatar de elabs

    elabs/pundit

    8,509Voir sur GitHub↗

    Pundit is a Ruby authorization framework that implements policy-based access control. It maps domain models to dedicated logic classes that determine whether a user is permitted to perform specific actions on data objects. The framework utilizes plain Ruby objects to decouple authorization logic from the model. It includes mechanisms for data query scoping to filter record collections based on user permissions, as well as attribute-level permission control to restrict which specific model fields a user can modify. The system provides tools for authorization coverage verification to ensure se

    Ruby
    Voir sur GitHub↗8,509
  • Voir les 30 alternatives à Action Policy→