授权

授权隶属于中间件的其中一个单元,由中间件调度器进行分发处理。可以自定义实现自己的授权功能。

中间件实现: 中间件

已完成的中间件,通过应用配置文件的 middleware 配置项进行配置,可以进行多维数据进行嵌套,最终通过 withMiddleware 获取 withAddMiddleware 进行分配。

授权认证主要依赖于: basic-auth 组件

应用配置:
  1. <?php
  2. return [
  3. 'middleware' => [
  4. 'basic.auth' => new FastD\BasicAuthenticate\HttpBasicAuthentication([
  5. 'authenticator' => [
  6. 'class' => \FastD\BasicAuthenticate\PhpAuthenticator::class,
  7. 'params' => [
  8. 'foo' => 'bar'
  9. ]
  10. ],
  11. 'response' => [
  12. 'class' => \FastD\Http\JsonResponse::class,
  13. 'data' => [
  14. 'msg' => 'not allow access',
  15. 'code' => 401
  16. ]
  17. ]
  18. ])
  19. ],
  20. ];

认证授权初始化需要接收用户提供器,否则无法判断来源用户是否合法,最后,会通过查询用户合法性来校验,支持 PDO 处理。

路由配置:
  1. route()->get("/", "IndexController@sayHello")->withAddMiddleware('basic.auth');

支持配置组中间件,配置仅需将配置转换成二位数组即可,格式保持不变.

应用配置
  1. <?php
  2. return [
  3. 'middleware' => [
  4. 'basic' => [
  5. // middleware 1
  6. // middleware 2
  7. ]
  8. ],
  9. ];
路由配置
  1. route()->get("/", "IndexController@sayHello")->withAddMiddleware('basic.auth');

下一节: 异常处理