awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
elabs avatar

elabs/pundit

0
View on GitHub↗

Pundit

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 security checks are executed during a request. It also includes a descriptive testing suite for verifying that authorization rules correctly permit or forbid specific user actions.

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Features

  • Authorization Policies - Implements a policy-based authorization system that maps domain models to dedicated logic classes for access control.
  • Query Scopes - Provides specialized scope classes to filter database record collections based on the requesting user's permissions.
  • Access Policies - Provides a system for mapping data objects to logic classes that define if a user is permitted to perform specific actions.
  • Policy-Based Access Control - Implements a system that maps domain models to logic classes to determine user permissions for specific actions.
  • Ruby Authorization Frameworks - Provides a complete Ruby-based framework for defining and enforcing access policies on data objects.
  • Record-Level Filtering - Implements security scopes to filter database record collections based on user permissions.
  • Authorization Testing - Provides a descriptive testing suite to verify that authorization policies correctly permit or forbid user actions.
  • Field-Level Access Controls - Restricts which specific model fields a user can update based on their assigned permission level and role.
  • Field-Level Update Restrictions - Provides validation logic to determine if a user is authorized to modify specific fields during update operations.
  • Field-Level Permissions - Provides a mechanism to restrict which specific model fields a user can update based on defined policy classes.
  • Authorization Check Tracking - Tracks whether a security check was performed during a web request to ensure no action bypasses authorization.
  • Authorization Coverage Auditing - Confirms security checks were executed during a request to prevent accidental data exposure.
  • Web Security Auditing - Ensures every request undergoes an authorization check to prevent accidental data exposure.
  • Plain Old Ruby Objects - Implements authorization logic using standard Ruby objects to keep security rules decoupled from the data models.
  • Ruby Frameworks and Tools - Authorization library for Ruby.
  • Authorization - Object-oriented authorization using standard Ruby classes.
8,509 星标·644 分支·Ruby·MIT·11 次浏览

Star 历史

elabs/pundit 的 Star 历史图表elabs/pundit 的 Star 历史图表

常见问题解答

elabs/pundit 是做什么的?

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.

elabs/pundit 的主要功能有哪些?

elabs/pundit 的主要功能包括:Authorization Policies, Query Scopes, Access Policies, Policy-Based Access Control, Ruby Authorization Frameworks, Record-Level Filtering, Authorization Testing, Field-Level Access Controls。

elabs/pundit 有哪些开源替代品?

elabs/pundit 的开源替代品包括: varvet/pundit — Pundit is an authorization framework for Ruby applications that enforces permissions through plain Ruby policy… cerbos/cerbos — Cerbos is an open-source authorization service that provides a centralized, language-agnostic engine for managing… palkan/action_policy — Action Policy is a Ruby authorization framework designed to manage user access and permissions by encapsulating… stalniy/casl — CASL is a JavaScript authorization library for defining and enforcing declarative access control rules across both… casbin/casbin — Casbin is an authorization library that provides a model-based engine for enforcing access control across diverse… rmosolgo/graphql-ruby — GraphQL-Ruby is a Ruby library for building GraphQL APIs with a strongly typed schema and a dedicated query execution…

Pundit 的开源替代方案

相似的开源项目,按与 Pundit 的功能重合度排序。
  • varvet/punditvarvet 的头像

    varvet/pundit

    8,509在 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
    在 GitHub 上查看↗8,509
  • cerbos/cerboscerbos 的头像

    cerbos/cerbos

    4,460在 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
    在 GitHub 上查看↗4,460
  • palkan/action_policypalkan 的头像

    palkan/action_policy

    1,557在 GitHub 上查看↗

    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

    Rubyauthorizationhacktoberfestrails
    在 GitHub 上查看↗1,557
  • stalniy/caslstalniy 的头像

    stalniy/casl

    6,952在 GitHub 上查看↗

    CASL is a JavaScript authorization library for defining and enforcing declarative access control rules across both frontend and backend environments. It provides an attribute-based access control system that manages permissions based on user roles and specific object properties. The library is designed for isomorphic access control, allowing a consistent set of permission rules to be shared between a server API and a client interface. It enables the serialization of permission sets as plain data objects to maintain synchronization across these different layers. Its capabilities include trans

    TypeScript
    在 GitHub 上查看↗6,952
查看 Pundit 的所有 30 个替代方案→