Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

EF-Adapter

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.