\App\Services\AdminLogDeniedService

拒绝访问日志服务

职责:被拒访问审计台账的只读查询——分页列表(search 命中用户名/客户端 IP/ 拒绝文案/请求路径/目标权限码,deny_type 精确筛选)与单条详情 (含脱敏参数)。写路径仅 WriteDeniedLog(经 LogAccessDeniedEvent 事件)。 数据范围:非超管仅可见本人行(越权探测分析仍超管专属)。

┌────────────────── 分区导航(按此顺序阅读)──────────────────┐ 分区 1 · 分页查询 paginate 分区 2 · 单条详情 show 分区 3 · 数据范围 单源 ScopesLogsToVisible └────────────────────────────────────────────────────────────┘

Summary

Methods
Properties
Constants
paginate()
show()
No public properties found
No constants found
scopeToVisible()
applySearch()
No protected properties found
N/A
No private methods found
No private properties found
N/A

Methods

paginate()

paginate(array  $filters, int  $perPage) : \Illuminate\Contracts\Pagination\LengthAwarePaginator

拒绝日志分页查询。

筛选语义:search 模糊命中用户名/客户端 IP/拒绝文案/请求路径/目标权限码; deny_type 精确匹配(0-3)。

Parameters

array $filters
int $perPage

Returns

\Illuminate\Contracts\Pagination\LengthAwarePaginator —

show()

show(int  $id) : \App\Models\LogSysDenied

拒绝日志单条详情(含脱敏参数快照;越权访问他人行 → 404)

Parameters

int $id

Returns

\App\Models\LogSysDenied —

scopeToVisible()

scopeToVisible(\Illuminate\Database\Eloquent\Builder  $query, bool  $ownOnly = false) : void

日志数据范围(单源:登录/操作/拒绝/错误/队列五服务共用): ownOnly=true 恒为本人行(个人中心语义,超管同规,匿名行亦不可见); 否则非超管仅见本人行(user_id 为空的匿名行仅超管可见)。

Parameters

\Illuminate\Database\Eloquent\Builder $query
bool $ownOnly

applySearch()

applySearch(\Illuminate\Database\Eloquent\Builder  $query, mixed  $search, string[]  $columns) : void

多列模糊搜索(单源:日志分页 search 参数同构)。 空 search 直接跳过;命中任一列即返回(OR 语义,与既有行为一致)。

Parameters

\Illuminate\Database\Eloquent\Builder $query
mixed $search
string[] $columns

参与模糊匹配的列名