Entity Framework Adapter for Casbin.NET

Clone this repo:

Branches

Tags

  1. 9208714 docs: fix nuget badge (#8) by YunShu · 2 years, 6 months ago master
  2. fca3557 fix: Update README.md by hsluoyz · 2 years, 6 months ago
  3. a001f82 chore: Add icon and infomations at nuget package by Sagilio · 5 years ago
  4. 9e60887 ci: Remove unnecessary action by Sagilio · 5 years ago
  5. e4291d6 doc: Add badges and installation at README.md by Sagilio · 5 years ago

Entity Framework Adapter for Casbin.NET

Actions Status Coverage Status NuGet

Entity Framework Adapter for Casbin. With this library, Casbin can load policy from EF supported database or save policy to it.

This adapter is based on the EF-Core Adapter

The current version supported all databases which EF supported, there is a part list:

  • SQL Server 2012 onwards
  • SQLite 3.7 onwards
  • Azure Cosmos DB SQL API
  • PostgreSQL
  • MySQL, MariaDB
  • Oracle DB
  • Db2, Informix
  • And more...

Installation

dotnet add package Casbin.NET.Adapter.EF

Simple Example

using Casbin.NET.Adapter.EF;
using Microsoft.EntityFramework;
using NetCasbin;
namespace ConsoleAppExample
{
    public class Program
    {
        public static void Main(string[] args)
        {

            var dbConncetionString = "<ConnectionStringOfTheDB>";
            var context = new CasbinDbContext<Guid>(dbConncetionString);

            // Initialize a EF Core adapter and use it in a Casbin enforcer:
            var efCoreAdapter = new CasbinDbAdapter<Guid>(context);
            var e = new Enforcer("examples/rbac_model.conf", efCoreAdapter);

            // Load the policy from DB.
            e.LoadPolicy();

            // Check the permission.
            e.Enforce("alice", "data1", "read");
            
            // Modify the policy.
            // e.AddPolicy(...)
            // e.RemovePolicy(...)
	
            // Save the policy back to DB.
            e.SavePolicy();
        }
    }
}

Getting Help

License

This project is under Apache 2.0 License. See the LICENSE file for the full license text.