Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions docs/ManagementAPI.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,17 @@ $ok = $e->enforcer($request);
ok = e.enforcer(request)
```

```mdx-code-block
</TabItem>
<TabItem value=".NET" label=".NET">
```

```csharp
var ok = e.Enforce(request);
// or async
var ok = await e.EnforceAsync(request);
```

```mdx-code-block
</TabItem>
<TabItem value="Java" label="Java">
Expand Down Expand Up @@ -195,6 +206,17 @@ $ok = $e->enforceWithMatcher($matcher, $request);
ok = e.enforce_with_matcher(matcher, request)
```

```mdx-code-block
</TabItem>
<TabItem value=".NET" label=".NET">
```

```csharp
var ok = e.EnforceWithMatcher(matcher, request);
// or async
var ok = await e.EnforceWithMatcherAsync(matcher, request);
```

```mdx-code-block
</TabItem>
<TabItem value="Java" label="Java">
Expand Down Expand Up @@ -242,6 +264,17 @@ const ok = await e.enforceEx(request);
list($ok, $reason) = $e->enforceEx($request);
```

```mdx-code-block
</TabItem>
<TabItem value=".NET" label=".NET">
```

```csharp
var (ok, explain) = e.EnforceEx(request);
// or async
var (ok, explain) = await e.EnforceExAsync(request);
```

```mdx-code-block
</TabItem>
<TabItem value="Python" label="Python">
Expand Down Expand Up @@ -271,6 +304,17 @@ For example:
ok, reason, err := e.EnforceExWithMatcher(matcher, request)
```

```mdx-code-block
</TabItem>
<TabItem value=".NET" label=".NET">
```

```csharp
var (ok, explain) = e.EnforceExWithMatcher(matcher, request);
// or async
var (ok, explain) = await e.EnforceExWithMatcherAsync(matcher, request);
```

```mdx-code-block
</TabItem>
</Tabs>
Expand Down Expand Up @@ -300,6 +344,17 @@ boolArray, err := e.BatchEnforce(requests)
const boolArray = await e.batchEnforce(requests);
```

```mdx-code-block
</TabItem>
<TabItem value=".NET" label=".NET">
```

```csharp
var boolArray = e.BatchEnforce(requests);
// or async
var boolArray = await e.BatchEnforceAsync(requests);
```

```mdx-code-block
</TabItem>
<TabItem value="Java" label="Java">
Expand Down
113 changes: 113 additions & 0 deletions docs/RBACAPI.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -406,6 +406,18 @@ const roles = ["data1_admin", "data2_admin"];
roles.map((role) => e.addRoleForUser("alice", role));
```

```mdx-code-block
</TabItem>
<TabItem value=".NET" label=".NET">
```

```csharp
var roles = new List<string> { "data1_admin", "data2_admin" };
var allAdded = e.AddRolesForUser("alice", roles);
// or async
var allAdded = await e.AddRolesForUserAsync("alice", roles);
```

```mdx-code-block
</TabItem>
<TabItem value="Rust" label="Rust">
Expand Down Expand Up @@ -915,6 +927,26 @@ const permissions = [
permissions.map((permission) => e.addPermissionForUser("bob", ...permission));
```

```mdx-code-block
</TabItem>
<TabItem value=".NET" label=".NET">
```

```csharp
var permissions = new List<List<string>>
{
new List<string> { "data1", "read" },
new List<string> { "data2", "write" }
};

foreach (var permission in permissions)
{
var added = e.AddPermissionForUser("bob", permission.ToArray());
// or async
var added = await e.AddPermissionForUserAsync("bob", permission.ToArray());
}
```

```mdx-code-block
</TabItem>
<TabItem value="Rust" label="Rust">
Expand Down Expand Up @@ -1178,6 +1210,15 @@ GetNamedPermissionsForUser("p2", "alice") will return `[["admin", "create"]]`.
permissions, err := e.GetNamedPermissionsForUser("p", "alice")
```

```mdx-code-block
</TabItem>
<TabItem value=".NET" label=".NET">
```

```csharp
var permissions = e.GetNamedPermissionsForUser("p", "alice");
```

```mdx-code-block
</TabItem>
<TabItem value="Python" label="Python">
Expand Down Expand Up @@ -1376,6 +1417,15 @@ GetNamedImplicitRolesForUser("g2", "alice") will return `["user", "guest"]`.
roles, err := e.GetNamedImplicitRolesForUser("g", "alice")
```

```mdx-code-block
</TabItem>
<TabItem value=".NET" label=".NET">
```

```csharp
var roles = e.GetNamedImplicitRolesForUser("g", "alice");
```

```mdx-code-block
</TabItem>
<TabItem value="Python" label="Python">
Expand Down Expand Up @@ -1553,6 +1603,15 @@ For example:
e.GetNamedImplicitPermissionsForUser("p2","alice")
```

```mdx-code-block
</TabItem>
<TabItem value=".NET" label=".NET">
```

```csharp
var permissions = e.GetNamedImplicitPermissionsForUser("p2", "alice");
```

```mdx-code-block
</TabItem>
<TabItem value="Python" label="Python">
Expand Down Expand Up @@ -1594,6 +1653,15 @@ For example:
result, err := e.GetDomainsForUser("alice")
```

```mdx-code-block
</TabItem>
<TabItem value=".NET" label=".NET">
```

```csharp
var result = e.GetDomainsForUser("alice");
```

```mdx-code-block
</TabItem>
</Tabs>
Expand Down Expand Up @@ -1626,6 +1694,15 @@ GetImplicitResourcesForUser("alice") will return
resources, err := e.GetImplicitResourcesForUser("alice")
```

```mdx-code-block
</TabItem>
<TabItem value=".NET" label=".NET">
```

```csharp
var resources = e.GetImplicitResourcesForUser("alice");
```

```mdx-code-block
</TabItem>
</Tabs>
Expand Down Expand Up @@ -1656,6 +1733,15 @@ Note: only users will be returned, roles (2nd arg in "g") will be excluded.
users, err := e.GetImplicitUsersForPermission("data1", "read")
```

```mdx-code-block
</TabItem>
<TabItem value=".NET" label=".NET">
```

```csharp
var users = e.GetImplicitUsersForPermission("data1", "read");
```

```mdx-code-block
</TabItem>
</Tabs>
Expand Down Expand Up @@ -1781,6 +1867,15 @@ If you are using an adapter that does not behave like this, you can choose to ig
conditions, err := e.GetAllowedObjectConditions("alice", "read", "r.obj.")
```

```mdx-code-block
</TabItem>
<TabItem value=".NET" label=".NET">
```

```csharp
var conditions = e.GetAllowedObjectConditions("alice", "read", "r.obj.");
```

```mdx-code-block
</TabItem>
</Tabs>
Expand Down Expand Up @@ -1813,6 +1908,15 @@ GetImplicitUsersForResource("data1") will return `[["alice", "data1", "read"]],
ImplicitUsers, err := e.GetImplicitUsersForResource("data2")
```

```mdx-code-block
</TabItem>
<TabItem value=".NET" label=".NET">
```

```csharp
var implicitUsers = e.GetImplicitUsersForResource("data2");
```

```mdx-code-block
</TabItem>
</Tabs>
Expand Down Expand Up @@ -1848,6 +1952,15 @@ GetNamedImplicitUsersForResource("g2", "app") will return users who have access
ImplicitUsers, err := e.GetNamedImplicitUsersForResource("g2", "app")
```

```mdx-code-block
</TabItem>
<TabItem value=".NET" label=".NET">
```

```csharp
var implicitUsers = e.GetNamedImplicitUsersForResource("g2", "app");
```

```mdx-code-block
</TabItem>
</Tabs>
Expand Down
9 changes: 9 additions & 0 deletions src/tableData/AdapterData/AdapterDotNETData.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,15 @@ export const AdapterDotNETData = [
"For [Microsoft Azure Cosmos DB](https://docs.microsoft.com/en-us/azure/cosmos-db/introduction)",
image: "/img/ecosystem/cosmosDB.png",
},
{
title: "[Redis Adapter](https://github.com/casbin-net/redis-adapter)",
type: "KV store",
author: "Casbin",
autoSave: "✅",
description:
"For [Redis](https://redis.io/)",
image: "/img/ecosystem/redis.png",
},
].map((item) => {
return {
...item,
Expand Down