Casbin.AspNetCore is a Casbin.NET integration and extension for ASP.NET Core.
This project is on developing, You can install the build version to try it.
dotnet add package Casbin.AspNetCore --version <build package version> --source https://www.myget.org/F/casbin-net/api/v3/index.json
Or you create a NuGet.config
file on you solution directory like this.
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="myget.org" value="https://www.myget.org/F/casbin-net/api/v3/index.json" />
</packageSources>
</configuration>
You should add the service at ConfigureServices
method and add MiddleWare at Configure
method like this:
public void ConfigureServices(IServiceCollection services)
{
// Other codes...
//Add Casbin Authorization
services.AddCasbinAuthorization(options =>
{
options.DefaultModelPath = "<model path>";
options.DefaultPolicyPath = "<policy path>";
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// Other codes...
app.UseCasbinAuthorization();
// You can add this to support offical authorization too.
app.UseAuthorization();
// Other codes...
}
Now you can use the attribute like offical authorization, If you use the Basic Model, It will like this:
[CasbinAuthorize("<obj>", "<act>")]
public IActionResult Index()
{
return View();
}
Head over to the usages on the wiki to know all the features.
Head over to the how it works on the wiki for user guidance on how it works.
Sample applications using Casbin.AspNetCore
can be found at sample directory.
This project is under Apache 2.0 License. See the LICENSE file for the full license text.