feat(权限): 为所有 Filament 资源添加导航菜单权限控制
- DocumentResource: 添加 document.view 权限检查 - SystemSettingResource: 添加 system-setting.view 权限检查 - ActivityLogResource: 添加 activity-log.view 权限检查 - TerminalResource: 添加 terminal.view 权限检查 - SopTemplateResource: 添加 sop-template.view 权限检查 - GroupResource: 添加 group.view 权限检查 - UserResource: 添加 user.view 权限检查 - RoleResource: 添加 role.viewAny 权限检查 所有资源都实现了 shouldRegisterNavigation() 方法 根据用户权限动态显示/隐藏导航菜单项
This commit is contained in:
@@ -25,6 +25,14 @@ class ActivityLogResource extends Resource
|
|||||||
|
|
||||||
protected static ?int $navigationSort = 2;
|
protected static ?int $navigationSort = 2;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 控制导航菜单是否显示
|
||||||
|
*/
|
||||||
|
public static function shouldRegisterNavigation(): bool
|
||||||
|
{
|
||||||
|
return auth()->user()?->can('activity-log.view') ?? false;
|
||||||
|
}
|
||||||
|
|
||||||
// 禁用创建功能
|
// 禁用创建功能
|
||||||
public static function canCreate(): bool
|
public static function canCreate(): bool
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -27,6 +27,14 @@ class DocumentResource extends Resource
|
|||||||
|
|
||||||
protected static ?int $navigationSort = 1;
|
protected static ?int $navigationSort = 1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 控制导航菜单是否显示
|
||||||
|
*/
|
||||||
|
public static function shouldRegisterNavigation(): bool
|
||||||
|
{
|
||||||
|
return auth()->user()?->can('document.view') ?? false;
|
||||||
|
}
|
||||||
|
|
||||||
public static function getEloquentQuery(): Builder
|
public static function getEloquentQuery(): Builder
|
||||||
{
|
{
|
||||||
$query = parent::getEloquentQuery();
|
$query = parent::getEloquentQuery();
|
||||||
|
|||||||
@@ -27,6 +27,14 @@ class GroupResource extends Resource
|
|||||||
|
|
||||||
protected static ?int $navigationSort = 2;
|
protected static ?int $navigationSort = 2;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 控制导航菜单是否显示
|
||||||
|
*/
|
||||||
|
public static function shouldRegisterNavigation(): bool
|
||||||
|
{
|
||||||
|
return auth()->user()?->can('group.view') ?? false;
|
||||||
|
}
|
||||||
|
|
||||||
public static function form(Form $form): Form
|
public static function form(Form $form): Form
|
||||||
{
|
{
|
||||||
return $form
|
return $form
|
||||||
|
|||||||
@@ -27,6 +27,14 @@ class RoleResource extends Resource
|
|||||||
|
|
||||||
protected static ?string $navigationGroup = '系统管理';
|
protected static ?string $navigationGroup = '系统管理';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 控制导航菜单是否显示
|
||||||
|
*/
|
||||||
|
public static function shouldRegisterNavigation(): bool
|
||||||
|
{
|
||||||
|
return auth()->user()?->can('role.viewAny') ?? false;
|
||||||
|
}
|
||||||
|
|
||||||
public static function form(Form $form): Form
|
public static function form(Form $form): Form
|
||||||
{
|
{
|
||||||
return $form
|
return $form
|
||||||
|
|||||||
@@ -25,6 +25,14 @@ class SopTemplateResource extends Resource
|
|||||||
|
|
||||||
protected static ?int $navigationSort = 4;
|
protected static ?int $navigationSort = 4;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 控制导航菜单是否显示
|
||||||
|
*/
|
||||||
|
public static function shouldRegisterNavigation(): bool
|
||||||
|
{
|
||||||
|
return auth()->user()?->can('sop-template.view') ?? false;
|
||||||
|
}
|
||||||
|
|
||||||
public static function form(Form $form): Form
|
public static function form(Form $form): Form
|
||||||
{
|
{
|
||||||
return $form
|
return $form
|
||||||
|
|||||||
@@ -24,6 +24,14 @@ class SystemSettingResource extends Resource
|
|||||||
|
|
||||||
protected static ?int $navigationSort = 1;
|
protected static ?int $navigationSort = 1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 控制导航菜单是否显示
|
||||||
|
*/
|
||||||
|
public static function shouldRegisterNavigation(): bool
|
||||||
|
{
|
||||||
|
return auth()->user()?->can('system-setting.view') ?? false;
|
||||||
|
}
|
||||||
|
|
||||||
public static function form(Form $form): Form
|
public static function form(Form $form): Form
|
||||||
{
|
{
|
||||||
return $form
|
return $form
|
||||||
|
|||||||
@@ -28,6 +28,14 @@ class TerminalResource extends Resource
|
|||||||
|
|
||||||
protected static ?string $navigationGroup = '大屏配置';
|
protected static ?string $navigationGroup = '大屏配置';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 控制导航菜单是否显示
|
||||||
|
*/
|
||||||
|
public static function shouldRegisterNavigation(): bool
|
||||||
|
{
|
||||||
|
return auth()->user()?->can('terminal.view') ?? false;
|
||||||
|
}
|
||||||
|
|
||||||
public static function form(Form $form): Form
|
public static function form(Form $form): Form
|
||||||
{
|
{
|
||||||
return $form
|
return $form
|
||||||
|
|||||||
@@ -27,6 +27,14 @@ class UserResource extends Resource
|
|||||||
|
|
||||||
protected static ?int $navigationSort = 3;
|
protected static ?int $navigationSort = 3;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 控制导航菜单是否显示
|
||||||
|
*/
|
||||||
|
public static function shouldRegisterNavigation(): bool
|
||||||
|
{
|
||||||
|
return auth()->user()?->can('user.view') ?? false;
|
||||||
|
}
|
||||||
|
|
||||||
public static function form(Form $form): Form
|
public static function form(Form $form): Form
|
||||||
{
|
{
|
||||||
return $form
|
return $form
|
||||||
|
|||||||
Reference in New Issue
Block a user