casbin aspnetcore
v1.4.0
Casbin.aspnetCore는 ASP.NET Core의 Casbin.net 통합 및 확장입니다.
이 프로젝트는 개발 중입니다. 빌드 버전을 설치하여 시도 할 수 있습니다.
dotnet add package Casbin . AspNetCore -- version < build package version > 또는 이와 같은 솔루션 디렉토리에서 NuGet.config 파일을 만듭니다.
< configuration >
< packageSources >
< add key = " nuget.org " value = " https://api.nuget.org/v3/index.json " />
</ packageSources >
</ configuration > ConfigureServices 메소드에서 서비스를 추가하고 다음과 같은 Configure 메소드에 미들웨어를 추가해야합니다.
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...
}이제 기본 모델을 사용하는 경우 다음과 같은 속성을 사용할 수 있습니다.
[ CasbinAuthorize ( "<obj>" , "<act>" ) ]
public IActionResult Index ( )
{
return View ( ) ;
} 다음은이 미들웨어의 프로세스를 잘 설명 할 수있는 시퀀스 차트입니다. 처음에는 공식 승인 미들웨어 프로세스처럼 보입니다. 마지막 반 부분에서 변경됩니다.
Casbin.AspNetCore 사용한 샘플 응용 프로그램은 샘플 디렉토리에서 찾을 수 있습니다.
public interface IEnforcerProvider
{
// Before
public Enforcer ? GetEnforcer ( ) ;
// Now
public IEnforcer ? GetEnforcer ( ) ;
} public interface ICasbinModelProvider
{
// Before
public Model ? GetModel ( ) ;
// Now
public IModel ? GetModel ( ) ;
} 이 프로젝트는 Apache 2.0 라이센스에 따라 있습니다. 전체 라이센스 텍스트는 라이센스 파일을 참조하십시오.