3
3
</h1 >
4
4
5
5
<p align =" center " >
6
- <strong>Think-authz 是一个专为ThinkPHP6.0打造的授权 (角色和权限控制)工具</strong>
6
+ <strong>Think-authz 是一个专为 ThinkPHP6.0 打造的授权 (角色和权限控制)工具</strong>
7
7
</p >
8
8
9
9
<p align =" center " >
32
32
* [ 用法] ( #用法 )
33
33
* [ 快速开始] ( #快速开始 )
34
34
* [ 使用 Enforcer Api] ( #使用-enforcer-api )
35
- * [ Using a middleware] ( #using-a-middleware )
36
- * [ basic Enforcer Middleware] ( #basic-enforcer-middleware )
37
- * [ HTTP Request Middleware ( RESTful is also supported )] ( #http-request-middleware--restful-is-also-supported- )
38
- * [ Using commands] ( #using-commands )
39
- * [ Cache] ( #using-cache )
35
+ * [ 使用中间件] ( #使用中间件 )
40
36
* [ 感谢] ( #thinks )
41
37
* [ License] ( #license )
42
38
@@ -67,7 +63,7 @@ php think tauthz:publish
67
63
这将自动生成 ` config/tauthz-rbac-model.conf ` 和 ` config/tauthz.php ` 文件。
68
64
69
65
70
- 执行迁移工具(确保数据库配置信息正确):
66
+ 执行迁移工具(** 确保数据库配置信息正确** ):
71
67
72
68
```
73
69
php think migrate:run
@@ -95,7 +91,7 @@ Enforcer::addPolicy('writer', 'articles','edit');
95
91
96
92
```
97
93
98
- You can check if a user has a permission like this :
94
+ 你可以检查一个用户是否拥有某个权限 :
99
95
100
96
``` php
101
97
// to check if a user has permission
@@ -109,45 +105,45 @@ if (Enforcer::enforce("eve", "articles", "edit")) {
109
105
110
106
### 使用 Enforcer Api
111
107
112
- It provides a very rich api to facilitate various operations on the Policy:
108
+ 它提供了非常丰富的 ` API ` ,以促进对 ` Policy ` 的各种操作:
113
109
114
- Gets all roles :
110
+ 获取所有角色 :
115
111
116
112
``` php
117
113
Enforcer::getAllRoles(); // ['writer', 'reader']
118
114
```
119
115
120
- Gets all the authorization rules in the policy.:
116
+ 获取所有的角色的授权规则:
121
117
122
118
``` php
123
119
Enforcer::getPolicy();
124
120
```
125
121
126
- Gets the roles that a user has.
122
+ 获取某个用户的所有角色:
127
123
128
124
``` php
129
125
Enforcer::getRolesForUser('eve'); // ['writer']
130
126
```
131
127
132
- Gets the users that has a role.
128
+ 获取某个角色的所有用户:
133
129
134
130
``` php
135
131
Enforcer::getUsersForRole('writer'); // ['eve']
136
132
```
137
133
138
- Determines whether a user has a role.
134
+ 决定用户是否拥有某个角色:
139
135
140
136
``` php
141
137
Enforcer::hasRoleForUser('eve', 'writer'); // true or false
142
138
```
143
139
144
- Adds a role for a user.
140
+ 给用户添加角色:
145
141
146
142
``` php
147
143
Enforcer::addRoleForUser('eve', 'writer');
148
144
```
149
145
150
- Adds a permission for a user or role.
146
+ 赋予权限给某个用户或角色:
151
147
152
148
``` php
153
149
// to user
@@ -156,37 +152,37 @@ Enforcer::addPermissionForUser('eve', 'articles', 'read');
156
152
Enforcer::addPermissionForUser('writer', 'articles','edit');
157
153
```
158
154
159
- Deletes a role for a user.
155
+ 删除用户的角色:
160
156
161
157
``` php
162
158
Enforcer::deleteRoleForUser('eve', 'writer');
163
159
```
164
160
165
- Deletes all roles for a user.
161
+ 删除某个用户的所有角色:
166
162
167
163
``` php
168
164
Enforcer::deleteRolesForUser('eve');
169
165
```
170
166
171
- Deletes a role.
167
+ 删除单个角色:
172
168
173
169
``` php
174
170
Enforcer::deleteRole('writer');
175
171
```
176
172
177
- Deletes a permission.
173
+ 删除某个权限:
178
174
179
175
``` php
180
176
Enforcer::deletePermission('articles', 'read'); // returns false if the permission does not exist (aka not affected).
181
177
```
182
178
183
- Deletes a permission for a user or role.
179
+ 删除某个用户或角色的权限:
184
180
185
181
``` php
186
182
Enforcer::deletePermissionForUser('eve', 'articles', 'read');
187
183
```
188
184
189
- Deletes permissions for a user or role.
185
+ 删除某个用户或角色的所有权限:
190
186
191
187
``` php
192
188
// to user
@@ -195,43 +191,46 @@ Enforcer::deletePermissionsForUser('eve');
195
191
Enforcer::deletePermissionsForUser('writer');
196
192
```
197
193
198
- Gets permissions for a user or role.
194
+ 获取用户或角色的所有权限:
199
195
200
196
``` php
201
197
Enforcer::getPermissionsForUser('eve'); // return array
202
198
```
203
199
204
- Determines whether a user has a permission.
200
+ 决定某个用户是否拥有某个权限
205
201
206
202
``` php
207
203
Enforcer::hasPermissionForUser('eve', 'articles', 'read'); // true or false
208
204
```
209
205
210
- ### Using a middleware
206
+ 更多 ` API ` 参考 [ Casbin API ] ( https://casbin.org/docs/en/management-api ) 。
211
207
212
- 敬请期待...
208
+ ### 使用中间件
213
209
214
- #### basic Enforcer Middleware
215
210
211
+ 该扩展包带有一个 ` Basic ` 中间件。 您可以将它们添加到您的` app/middleware.php ` 文件中:
216
212
213
+ ``` php
214
+ <?php
217
215
218
- #### HTTP Request Middleware ( RESTful is also supported )
219
-
220
-
221
- ```
216
+ return [
217
+ // ... 其他中间件
218
+ 'alias' => [
219
+ 'authz' => \tauthz\middleware\Basic::class,
220
+ ],
221
+ ];
222
222
```
223
223
224
- ### Using artisan commands
225
-
226
- 敬请期待...
227
-
228
- ### Using cache
224
+ 然后就可以使用它们来保护路由了:
229
225
230
- 敬请期待...
226
+ ``` php
227
+ Route::get('news/:id','News/Show')
228
+ ->middleware('authz', ['news', 'read']);
229
+ ```
231
230
232
231
## 感谢
233
232
234
- [ Casbin] ( https://github.com/php-casbin/php-casbin ) . You can find the full documentation of Casbin [ on the website ] ( https://casbin.org/ ) .
233
+ [ Casbin] ( https://github.com/php-casbin/php-casbin ) ,你可以查看全部文档在其 [ 官网 ] ( https://casbin.org/ ) 上。
235
234
236
235
## License
237
236
0 commit comments