1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- namespace catchAdmin\permissions\middleware;
- use app\Request;
- use catchAdmin\permissions\model\Permissions;
- use catcher\CatchCacheKeys;
- use catcher\Code;
- use catcher\exceptions\PermissionForbiddenException;
- use think\facade\Cache;
- use catcher\Utils;
- class RecordOperateMiddleware
- {
-
- public function handle(Request $request, \Closure $next)
- {
- $rule = $request->rule()->getName();
-
- [$module, $controller, $action] = Utils::parseRule($rule);
- $permission = $this->getPermission($module, $controller, $action);
- $this->operateEvent($request->user()->id, $permission);
-
- $request->permission = $permission;
- return $next($request);
- }
-
- protected function getPermission($module, $controllerName, $action)
- {
- $permissionMark = sprintf('%s@%s', $controllerName, $action);
- return Permissions::where('module', $module)->where('permission_mark', $permissionMark)->find();
- }
-
- protected function operateEvent($creatorId, $permission)
- {
-
- $permission && event('operateLog', [
- 'creator_id' => $creatorId,
- 'permission' => $permission,
- ]);
- }
- }
|