mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-08-05 18:38:52 +02:00
- fact_key 校验放开大写字母,支持驼峰命名(如 finding/info-disclosure-messageBundle): - internal/database/project.go: 正则 ^[a-z0-9]... 改为 ^[a-zA-Z0-9]...,并更新错误提示 - internal/project/fact_body_links.go: body 解析正则(依赖事实/相关 fact_key)同步放开大写 - authorizeProjectTool 区分「未绑定项目 / 查询出错 / 真实无权限」三种情况: 未绑定项目时返回明确可执行提示,替代误导性的 no access to project - internal/app/mcp_authorization.go Co-authored-by: sycmacmini <sycmacmini@sycmacminis-Mac-mini.local>
This commit is contained in:
@@ -382,7 +382,13 @@ func authorizeProjectTool(ctx context.Context, principal authctx.Principal, db *
|
||||
return fmt.Errorf("no access to conversation %s", conversationID)
|
||||
}
|
||||
projectID, err := db.GetConversationProjectID(conversationID)
|
||||
if err != nil || strings.TrimSpace(projectID) == "" || !db.UserCanAccessResource(principal.UserID, principal.ScopeFor(permission), "project", projectID) {
|
||||
if err != nil {
|
||||
return fmt.Errorf("no access to project: %w", err)
|
||||
}
|
||||
if strings.TrimSpace(projectID) == "" {
|
||||
return fmt.Errorf("当前对话未绑定项目,无法使用项目黑板工具,请先在对话中选择项目或创建带项目的对话")
|
||||
}
|
||||
if !db.UserCanAccessResource(principal.UserID, principal.ScopeFor(permission), "project", projectID) {
|
||||
return fmt.Errorf("no access to project %s", projectID)
|
||||
}
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user