fix: 移除 middleware adminPaths,解决非 admin 角色 Forbidden 问题
- 移除 middleware 中的 adminPaths: ['/settings'] 配置 - settings 页面权限由各 API 端点自行检查,middleware 仅负责认证 - 修复 viewer/operator 等非 admin 角色访问 /settings/* 返回 403 的问题 - 侧边栏 hasAnyAdminPerm 增加 audit-logs 和 monitor 权限检查
This commit is contained in:
parent
f507adfaa1
commit
6bba264927
|
|
@ -22,7 +22,10 @@ const settingsItems = [
|
||||||
]
|
]
|
||||||
|
|
||||||
function hasAnyAdminPerm(permissions: string[]): boolean {
|
function hasAnyAdminPerm(permissions: string[]): boolean {
|
||||||
return permissions.includes('*') || permissions.some(p => p.startsWith('users:') || p.startsWith('roles:') || p.startsWith('api-keys:'))
|
return permissions.includes('*') || permissions.some(p =>
|
||||||
|
p.startsWith('users:') || p.startsWith('roles:') || p.startsWith('api-keys:') ||
|
||||||
|
p.startsWith('audit-logs:') || p.startsWith('monitor:')
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function Sidebar() {
|
export default function Sidebar() {
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,10 @@
|
||||||
// issue-ai/src/middleware.ts — 使用共享 middleware 工厂
|
// issue-ai/src/middleware.ts — 使用共享 middleware 工厂
|
||||||
|
// 注意:移除 adminPaths,settings 页面的权限由各 API 自行检查
|
||||||
|
// middleware 仅负责认证(登录检查),不负责角色鉴权
|
||||||
import { createMiddleware } from '@shared/lib/auth/middleware'
|
import { createMiddleware } from '@shared/lib/auth/middleware'
|
||||||
|
|
||||||
export const middleware = createMiddleware({
|
export const middleware = createMiddleware({
|
||||||
localCookieName: 'session_issue',
|
localCookieName: 'session_issue',
|
||||||
adminPaths: ['/settings'],
|
|
||||||
enableApiKey: true,
|
enableApiKey: true,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue