修改权限管理

This commit is contained in:
wuyanwen 2019-12-13 17:26:09 +08:00
parent 17d30f1cc3
commit b5e90dd14f
4 changed files with 22 additions and 18 deletions

View File

@ -2,19 +2,26 @@
namespace catchAdmin\permissions;
use catchAdmin\permissions\model\Permissions;
use catcher\CatchAdmin;
use think\facade\Db;
class OperateLogListener
{
public function handle($params)
{
$request = $params['request'];
$permission = $params['permission'];
Db::name('operate_log')->insert([
'module' => $params['module'],
'ip' => request()->ip(),
'operate' => $params['operate'],
'creator_id' => $params['uid'],
'method' => $params['method'],
'creator_id' => $request->user()->id,
'module' => Permissions::where('id', $permission->parent_id)->value('permission_name'),
'method' => $request->method(),
'operate' => $permission->permission_name,
'route' => $permission->route,
'params' => json_encode($request->param()),
'created_at' => time(),
'ip' => $request->ip(),
]);
}
}

View File

@ -27,7 +27,7 @@ class PermissionsMiddleware
}
// toad
if (($permission = $this->getPermission($request))
&& in_array($permission->id, $request->user()->getPermissionsBy())) {
&& !in_array($permission->id, $request->user()->getPermissionsBy())) {
throw new PermissionForbiddenException();
}
@ -57,21 +57,18 @@ class PermissionsMiddleware
$module = array_pop($controller);
$permissionMark = sprintf('%s:%s:%s', $module, $controllerName, $action);
$permission = Permissions::where('permission_mark', $permissionMark)->find();
$params['uid'] = $request->user()->id;
$params['module'] = $rule ? CatchAdmin::getModulesInfo(false)[$module] : '首页';
$params['method'] = $request->method();
$params['operate'] = sprintf('%s/%s', $controllerName, $action);
event('operateLog', $params);
$permissionMark = sprintf('%s:%s', $controllerName, $action);
$permission = Permissions::where('module', $module)->where('permission_mark', $permissionMark)->find();
if (!$permission) {
return false;
}
event('operateLog', [
'request' => $request,
'permission' => $permission,
]);
return $permission;
}
}

View File

@ -34,7 +34,7 @@ class Roles extends Migrator
->addColumn('description', 'string',['default'=> '','comment'=>'角色备注'])
->addColumn('created_at', 'integer', array('default'=>0,'comment'=>'创建时间', 'signed' => false ))
->addColumn('updated_at', 'integer', array('default'=>0,'comment'=>'更新时间', 'signed' => false))
->addColumn('deleted_at', 'integer', array('null'=>true,'comment'=>'删除状态0未删除 >0 已删除', 'signed' => false))
->addColumn('deleted_at', 'integer', array('default'=>0,'comment'=>'删除状态0未删除 >0 已删除', 'signed' => false))
->create();
}
}

View File

@ -39,7 +39,7 @@ class Permissions extends Migrator
->addColumn('sort', 'integer',['default'=> 0,'comment'=>'排序字段'])
->addColumn('created_at', 'integer', array('default'=>0,'comment'=>'创建时间', 'signed' => false ))
->addColumn('updated_at', 'integer', array('default'=>0,'comment'=>'更新时间', 'signed' => false))
->addColumn('deleted_at', 'integer', array('null'=>true,'comment'=>'删除状态null 未删除 timestamp 已删除', 'signed' => false))
->addColumn('deleted_at', 'integer', array('default'=>0,'comment'=>'删除状态null 未删除 timestamp 已删除', 'signed' => false))
->create();
}