Browse Source

Docs - Add GlobalStateProviders to Authorization.md

pull/8663/head
enisn 6 years ago
parent
commit
eafb3d79e6
  1. 33
      docs/en/Authorization.md

33
docs/en/Authorization.md

@ -285,7 +285,38 @@ See examples below:
authorPermission.AddStateProviders(new MyCustomPermissionStateProvider());
```
Custom condition class have to implement `IPermissionStateProvider`
Custom condition class have to implement `IPermissionStateProvider`.
- Also State Providers can be configured globally via using `GlobalStateProviders` in **AbpPermissionOptions**
```csharp
Configure<AbpPermissionOptions>(options =>
{
options.GlobalStateProviders.Add<MyCustomPermissionStateProvider>();
// Or type can be pass as parameter:
options.GlobalStateProviders.Add(typeof(MyCustomPermissionStateProvider));
});
```
Content of **MyCustomPermissionStateProvider** looks like:
```csharp
public class MyCustomPermissionStateProvider : IPermissionStateProvider
{
public Task<bool> IsEnabledAsync(PermissionStateContext context)
{
// You can implement your own logic here.
// That check works globally for each permission.
return Task.FromResult(
context.Permission.Name.StartsWith("Acme.BookStore"));
}
}
```
## IAuthorizationService

Loading…
Cancel
Save