index.md 2.53 KB
Newer Older
ddcat1115's avatar
ddcat1115 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
---
title:
  en-US: Authorized
  zh-CN: Authorized
subtitle: 权限
cols: 1
order: 15
---

权限组件,通过比对现有权限与准入权限,决定相关元素的展示。

## API

### RenderAuthorized

`RenderAuthorized: (currentAuthority: string | () => string) => Authorized`

权限组件默认 export RenderAuthorized 函数,它接收当前权限作为参数,返回一个权限对象,该对象提供以下几种使用方式。

陈帅's avatar
陈帅 committed
20

ddcat1115's avatar
ddcat1115 committed
21 22 23 24 25 26 27
### Authorized

最基础的权限控制。

| 参数      | 说明                                      | 类型         | 默认值 |
|----------|------------------------------------------|-------------|-------|
| children    | 正常渲染的元素,权限判断通过时展示           | ReactNode  | - |
28
| authority   | 准入权限/权限判断         | `string | array | Promise | (currentAuthority) => boolean | Promise` | - |
ddcat1115's avatar
ddcat1115 committed
29 30 31 32 33 34
| noMatch     | 权限异常渲染元素,权限判断不通过时展示        | ReactNode  | - |

### Authorized.AuthorizedRoute

| 参数      | 说明                                      | 类型         | 默认值 |
|----------|------------------------------------------|-------------|-------|
35
| authority     | 准入权限/权限判断         | `string | array | Promise | (currentAuthority) => boolean | Promise` | - |
ddcat1115's avatar
ddcat1115 committed
36 37 38 39 40 41 42 43 44 45
| redirectPath  | 权限异常时重定向的页面路由                | string  | - |

其余参数与 `Route` 相同。

### Authorized.Secured

注解方式,`@Authorized.Secured(authority, error)`

| 参数      | 说明                                      | 类型         | 默认值 |
|----------|------------------------------------------|-------------|-------|
46
| authority     | 准入权限/权限判断         | `string | Promise | (currentAuthority) => boolean | Promise` | - |
ddcat1115's avatar
ddcat1115 committed
47 48 49 50
| error  | 权限异常时渲染元素                |  ReactNode | <Exception type="403" /> |

### Authorized.check

51
函数形式的 Authorized,用于某些不能被 HOC 包裹的组件。 `Authorized.check(authority, target, Exception)`
jim's avatar
jim committed
52
注意:传入一个 Promise 时,无论正确还是错误返回的都是一个 ReactClass。
ddcat1115's avatar
ddcat1115 committed
53 54 55

| 参数      | 说明                                      | 类型         | 默认值 |
|----------|------------------------------------------|-------------|-------|
56
| authority     | 准入权限/权限判断         | `string | Promise | (currentAuthority) => boolean | Promise` | - |
陈帅's avatar
陈帅 committed
57
| target     | 权限判断通过时渲染的元素         | ReactNode | - |
ddcat1115's avatar
ddcat1115 committed
58
| Exception  | 权限异常时渲染元素                |  ReactNode | - |