casbin-net / ef-adapter

Entity Framework Adapter for Casbin.NET

Home Page:https://github.com/casbin/Casbin.NET

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Entity Framework Adapter for Casbin.NET

https://github.com/casbin/Casbin.NET

License:Apache License 2.0


Languages

Language:C# 100.0%