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

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

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

casbin/casbin

0
View on GitHub↗
19,848 星标·1,722 分支·Go·apache-2.0·14 次浏览casbin.org↗

Casbin

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 highly modular architecture that includes adapter-based storage abstraction, enabling the engine to connect to various persistent backends for policy management. It supports complex, context-aware policy execution by allowing developers to inject custom functions for domain-specific matching and validation. Furthermore, the engine handles hierarchical role resolution and provides mechanisms for aggregating multiple policy outcomes, such as allow-override or deny-override, to resolve conflicting permissions.

The platform covers a broad capability surface, including middleware integration for web frameworks, API gateways, and service mesh architectures. It offers extensive tooling for policy administration, observability, and performance optimization, such as result caching and asynchronous execution. The system also supports multi-tenancy through domain-aware authorization and provides programmatic interfaces for automating policy updates and lifecycle management.

The library is designed for integration into existing stacks, offering middleware components and support for distributed deployments to ensure consistent authorization state across multiple service instances.

Features

  • Attribute-Based Access Control - Provides a flexible authorization engine that enforces role-based, attribute-based, and relationship-based access control models.
  • Authorization Middleware - Integrates with web frameworks and API gateways to intercept requests and validate security policies before processing.
  • Access Control Models - Configures custom request parameters, policy structures, and evaluation logic to enforce specific authorization requirements across diverse application environments.
  • Policy Enforcement Engines - Provides a framework for evaluating complex security rules against subjects, resources, and actions to determine access permissions in real-time.

AI 搜索

探索更多 awesome 仓库

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

Start searching with AI
  • Action Resolution Policies - Evaluates requests against defined models and rules to determine if a subject is permitted to perform an action on a resource.
  • Policy-Based Access Control - Decouples authorization logic from application code using a configuration-driven engine that interprets access rules at runtime.
  • Role-Based Access Control - Evaluates access requests by checking if a subject possesses the required role, including transitive and hierarchical relationships.
  • Conditional Access Evaluators - Evaluates dynamic logic alongside role assignments to restrict or permit actions based on runtime context or specific attributes.
  • Authorization Policies - Stores access control rules in external files or databases and loads, saves, adds, or removes policies dynamically.
  • Attribute-based Access Controls - Evaluates authorization requests against diverse security patterns including role-based, attribute-based, and lattice-based models.
  • Multi-Tenant Identity Management - Isolates authorization rules by domain or tenant to ensure secure, scoped permission management in distributed architectures.
  • Access Control and Authorization - Checks whether a subject is authorized to perform a specific action on a resource by matching requests against defined models and rules.
  • Middleware - Hooks authorization logic into web frameworks and API gateways to intercept requests.
  • Request Interception Middleware - Intercepts incoming requests at the application or infrastructure layer to validate access rights before executing protected operations.
  • Data Storage Adapters - Connects the authorization engine to diverse persistent backends through a standardized adapter interface.
  • Service Meshes - Intercepts network requests within a service mesh architecture to verify permissions before routing traffic between microservices.
  • Domain-Based Access Controls - Configures access control to evaluate permissions within specific organizational scopes or tenants, supporting wildcard assignments across domains.
  • Domain-Scoped Permissions - Enables domain-scoped permission management to control access across multi-tenant environments.
  • Access Control Policies - Persists authorization rules in external storage backends to maintain consistent access control across application restarts.
  • Relationship-Based Access Controls - Evaluates authorization requests by traversing relationships between users, resources, and types to determine access.
  • Organizational Structure Management - Restricts access based on organizational structures and roles to ensure permissions align with hierarchical business units.
  • Identity Provider Connections - Verifies user identities by mapping external authentication platform data to internal authorization rules.
  • Multi-Tenant Security - Isolates access policies by domain or tenant to ensure secure, scoped permission management.
  • Policy Outcome Aggregators - Combines multiple policy outcomes into a single allow or deny result based on defined logic like allow-override or deny-override.
  • Policy Enforcement Engines - Intercepts cluster resource requests and evaluates them against declarative access control rules without custom webhook code.
  • Conditional Access Rules - Applies logical conditions and matching functions to role assignments to determine permissions based on dynamic attributes.
  • Pattern-Based Role Matching - Assign permissions using flexible pattern matching to simplify the management of large or dynamic sets of roles and users.
  • Tab Access Restrictions - Synchronizes authorization rules to client-side applications to restrict user interface elements based on defined permissions.
  • Role-Based Access Management - Maps users to roles and roles to other roles to manage complex permissions through inheritance and group-based access.
  • Access Control Frameworks - Open-source access control library for Go applications.
  • Authorization Result Caches - Stores authorization results in memory to speed up future access checks and minimize processing time.
  • Persistent Storage Management - Connects to external databases, cloud services, or file systems to load and save authorization models and policy rules.
  • Administrative Privilege Management - Grants unrestricted access to specific subjects across all models to ensure administrative oversight of the entire system.
  • Conflict Resolution Policies - Resolves competing authorization rules using priority ordering or override logic to ensure consistent enforcement.
  • Programmatic Administration Interfaces - Exposes programmatic interfaces for external systems to create, update, and delete authorization models and rules.
  • Custom Pattern Matchers - Registers custom logic to evaluate complex relationships between subjects, objects, or domains, allowing a single policy rule to cover multiple resource identifiers.
  • Authorization Services - Exposes access control logic as a standalone network service to decouple policy enforcement from application code.
  • Function Injection Tools - Extends authorization logic by injecting custom functions for domain-specific matching and validation.
  • Authorization Interceptors - Intercepts GraphQL requests before they reach resolvers to validate permissions against defined authorization policies.
  • Business Constraint Enforcement - Validates role-based invariants and separation of duties during policy updates to ensure security rules remain consistent with organizational requirements.
  • Orchestration Admission Controllers - Integrates with container orchestration platforms to intercept and validate resource requests against defined authorization rules.
  • Runtime Permission Policies - Updates and retrieves authorization rules dynamically at runtime without requiring application restarts.
  • Authorization Services - Provides a remote interface to evaluate access control policies without embedding the library directly.
  • Model Persistence - Decouples authorization logic from application code by persisting model definitions in external storage.
  • Policy Propagation Systems - Propagates policy changes across multiple service instances in a distributed deployment to maintain consistent authorization state.
  • Proxy Authorization Integrations - Connects reverse proxies and service meshes to a centralized policy engine.
  • Context-Aware Policy Engines - Supports dynamic access decisions by passing runtime environment data into the evaluation engine.
  • Data Access Filters - Filters access to specific records or fields based on user attributes and defined authorization policies.
  • Organization-Based Access Management - Evaluates access requests by mapping subjects, actions, and objects to roles and views within specific organizational contexts.
  • Custom Matching Logic - Defines specialized role or resource matching functions to handle complex authorization requirements.
  • File Pattern Matching - Registers custom functions to enable wildcard or pattern-based evaluation for user and domain names during policy enforcement.
  • Access Control Policies - Applies built-in operators and custom logic to match request attributes against policy rules for flexible resource protection.
  • Interface Element Visibility - Hides or displays UI elements like menus and buttons based on a user's permissions to prevent unauthorized navigation or interaction.
  • Dynamic Policy Refreshers - Refreshes authorization rules in memory automatically without requiring manual restarts or redeployments.
  • Policy Management Interfaces - Provides a web-based interface to draft, test, and validate access control models and policy rules without requiring a local development environment.
  • Custom Matcher Functions - Extends the evaluation engine by allowing developers to register domain-specific logic for complex attribute matching.
  • Implicit Permission Resolvers - Calculates effective access rights by resolving all direct and inherited permissions for a subject.
  • Network Traffic Interceptors - Intercepts network traffic at the infrastructure level to validate access requests against defined security policies.
  • Mandatory Access Control - Restricts user actions based on security labels and system-wide policies to ensure data confidentiality and integrity.
  • Path-Based Access Rules - Validates access based on IP addresses, CIDR ranges, or RESTful URL patterns.
  • Custom Matching Functions - Registers custom functions to be used within authorization matchers for evaluating complex access conditions.
  • Dynamic Policy Evaluators - Executes complex logic expressions embedded directly within policy definitions at runtime.
  • Policy Resolution Strategies - Aggregates multiple matching rules using built-in logic like allow-override or deny-override to resolve conflicting permissions.
  • Conditional Role Access - Validates role access by executing custom logic to ensure subjects only inherit roles when specific criteria are met.
  • Conditional Role Assignment - Restricts user-to-role assignments by validating them against custom runtime criteria.
  • Domain-Scoped Assignment Validators - Validates user-to-role assignments within specific domains against custom logic to ensure active membership conditions are met.
  • Conditional Domain Role Restrictions - Applies conditional logic to role assignments within multi-tenant environments to enforce domain-specific access.
  • Access Control - Validates access permissions and system conditions throughout an entire session rather than only at the initial point of entry.
  • Access Rule Management - Provides utilities for managing policy rules and role inheritance mappings to maintain access control state.
  • Enforcement Performance Monitors - Tracks authorization decision latency and memory usage across project commits to ensure consistent performance.
  • Atomic Transactions - Groups multiple policy changes into a single atomic operation to ensure data consistency across storage updates.
  • Administrative Overrides - Permits specific subjects to bypass all defined access control policies.
  • Authorization Decision Explainers - Returns the specific policy rule that granted or denied an access request to provide transparency.
  • Throughput Scaling - Provides mechanisms to distribute authorization checks across multiple threads or server nodes for high-traffic environments.
  • Batch Authorization Evaluators - Processes a collection of authorization checks in a single operation to efficiently validate large sets of data.
  • Integrity Enforcement Policies - Restricts read and write operations based on assigned integrity levels to prevent data corruption.
  • Role Hierarchy Priority Rules - Determines rule precedence based on the depth of subjects within a role tree.
  • Row Level Security - Restricts access based on security levels by preventing subjects from reading higher-level data or writing to lower-level data.
  • Enforcement Bypasses - Toggles the authorization engine to permit all requests regardless of defined policies, facilitating system maintenance or testing scenarios.
  • User Role Management - Retrieves and audits role assignments to verify user permissions within the system.
  • Filtered Policy Appenders - Adds a specific subset of access rules to the existing in-memory policy set without replacing previously loaded data.
  • Lattice-Based Access Models - Evaluates subject and object security levels against confidentiality and integrity policies within a multi-dimensional framework.
  • Policy Set Optimizers - Provides mechanisms to optimize large-scale authorization policy sets for improved performance and memory efficiency.
  • Sequential Policy Evaluators - Evaluates access rules based on their sequence in the policy list to resolve conflicting permissions.
  • Weighted Policy Evaluators - Assigns numeric weights to access rules to control which policies override others during evaluation.
  • Authorization Schemas - Maps custom field names and positions for subjects, objects, and domains to align the authorization engine with specific data structures.
  • Asynchronous Authorization Execution - Performs authorization tasks without blocking the main execution thread to maintain application responsiveness.
  • Authorization Event Loggers - Records internal operations including model loading, policy changes, and enforcement decisions to provide visibility into access control activity.
  • API Integration Services - Provides middleware to bridge authorization logic with web frameworks, API gateways, and cloud-native architectures.
  • Resource Pattern Matchers - Matches resource paths and IP addresses against defined patterns using wildcards, regex, or CIDR blocks.
  • Star 历史

    casbin/casbin 的 Star 历史图表casbin/casbin 的 Star 历史图表

    常见问题解答

    casbin/casbin 是做什么的?

    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…

    casbin/casbin 的主要功能有哪些?

    casbin/casbin 的主要功能包括:Attribute-Based Access Control, Authorization Middleware, Access Control Models, Policy Enforcement Engines, Action Resolution Policies, Policy-Based Access Control, Role-Based Access Control, Conditional Access Evaluators。

    casbin/casbin 有哪些开源替代品?

    casbin/casbin 的开源替代品包括: cerbos/cerbos — Cerbos is an open-source authorization service that provides a centralized, language-agnostic engine for managing… hsluoyz/casbin — Casbin is an authorization library designed to manage application access control and permissions through a… prefecthq/fastmcp — FastMCP is a Python framework designed for building servers that expose functions, resources, and prompts to AI models… aws/aws-cdk — The AWS Cloud Development Kit is an infrastructure-as-code framework that enables developers to define and provision… spatie/laravel-permission — This is a role-based access control system for Laravel applications that manages user permissions and roles within a… meshery/meshery — Meshery is a service mesh management plane and cloud native infrastructure orchestrator. It provides a visual…

    Casbin 的开源替代方案

    相似的开源项目,按与 Casbin 的功能重合度排序。
    • 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
    • hsluoyz/casbinhsluoyz 的头像

      hsluoyz/casbin

      20,189在 GitHub 上查看↗

      Casbin is an authorization library designed to manage application access control and permissions through a configurable model-based engine. It serves as a centralized system for verifying whether a user has permission to perform specific actions on a resource. The engine supports multiple access control models, including Role-Based Access Control, Attribute-Based Access Control, and Access Control Lists. It allows for the definition of role hierarchies and the evaluation of user, resource, and environment attributes to make access decisions. The library decouples authorization logic from dat

      Go
      在 GitHub 上查看↗20,189
    • prefecthq/fastmcpPrefectHQ 的头像

      PrefectHQ/fastmcp

      22,994在 GitHub 上查看↗

      FastMCP is a Python framework designed for building servers that expose functions, resources, and prompts to AI models using the Model Context Protocol. It simplifies the development process by automatically deriving tool metadata, input schemas, and documentation directly from Python function signatures and type hints. The framework provides a unified container for managing these components, allowing developers to build modular applications that integrate seamlessly with AI assistants. The project distinguishes itself through its support for interactive, server-defined user interface compone

      Pythonagentsfastmcpllms
      在 GitHub 上查看↗22,994
    • aws/aws-cdkaws 的头像

      aws/aws-cdk

      12,817在 GitHub 上查看↗

      The AWS Cloud Development Kit is an infrastructure-as-code framework that enables developers to define and provision cloud resources using familiar programming languages. By utilizing construct-based synthesis, it translates high-level, object-oriented code into declarative templates, allowing for the automated management of complex cloud environments through a centralized, code-driven control plane. The framework distinguishes itself through its ability to model infrastructure as a dependency-aware resource graph, ensuring that components are provisioned and updated in the correct order. It

      TypeScriptawscloud-infrastructurehacktoberfest
      在 GitHub 上查看↗12,817
    查看 Casbin 的所有 30 个替代方案→