A powerful .NET authorization library supporting ACL, RBAC, ABAC, and other access control models.
Casbin.NET is an authorization library for .NET applications that provides a unified way to enforce access control policies. It supports multiple models like ACL, RBAC, and ABAC through a configurable policy language, allowing developers to manage permissions without hardcoding logic. The library handles policy enforcement, role management, and integrates with various storage backends.
.NET developers building applications that require fine-grained authorization, such as enterprise systems, multi-tenant platforms, or APIs with complex permission rules.
Developers choose Casbin.NET for its flexibility in supporting multiple access control models within a single framework, its production-ready performance, and its alignment with the broader Casbin ecosystem across programming languages.
An authorization library that supports access control models like ACL, RBAC, ABAC in .NET (C#)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports ACL, RBAC, ABAC, and other access control models through configurable CONF files, allowing developers to switch paradigms without code changes, as detailed in the README's examples.
Uses the PERM metamodel with customizable matchers and operators like keyMatch, enabling complex rule definitions such as path-based RESTful permissions, highlighted in the model configurations.
Part of a mature Casbin ecosystem across multiple languages with benchmarks provided, ensuring reliability and performance for enterprise applications.
Handles RBAC with role hierarchies and domain-based permissions, making it suitable for multi-tenant systems, as shown in the policy examples for domains and resource roles.
Explicitly does not handle authentication, requiring separate systems for user verification, which adds complexity and integration overhead, as admitted in the README.
Requires mastering Casbin's custom CONF file syntax and PERM model, which can be non-intuitive compared to code-based authorization, leading to initial setup challenges.
While part of a larger ecosystem, .NET-specific adapters and middlewares are less extensive than in other languages, potentially requiring custom development for some integrations.