feat: 加固 Agent CLI 执行边界并更新模型目录

收紧 SSH 命令护栏、权限校验与远程执行会话,并同步主流大模型供应商列表。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Logan.LiandCursor committed 2026-09-14 09:43:14 +08:00
1 parent 67660ae1d6
commit 2fd1624bec
18 files changed
+480 -49

No files matched your search

+23
View File
@@ -146,6 +146,29 @@ func AdminAuth() gin.HandlerFunc {
}
}
// PermissionAuth 校验当前用户是否拥有指定权限码,管理员直接放行。 // Logan.Li
func PermissionAuth(db *gorm.DB, permissionCode string) gin.HandlerFunc {
return func(c *gin.Context) {
if GetIsAdmin(c) {
c.Next()
return
}
var count int64
err := db.Table("iam_user_roles ur").
Joins("JOIN iam_roles r ON r.id = ur.role_id AND r.status = 1").
Joins("JOIN iam_role_permissions rp ON rp.role_id = r.id").
Joins("JOIN iam_permissions p ON p.id = rp.permission_id AND p.status = 1").
Where("ur.user_id = ? AND p.code = ?", GetUserID(c), permissionCode).
Count(&count).Error
if err != nil || count == 0 {
c.JSON(http.StatusForbidden, model.Response{Code: 403, Message: "无此功能权限"})
c.Abort()
return
}
c.Next()
}
}
// GetUserID 获取当前用户ID
func GetUserID(c *gin.Context) uint {
userID, exists := c.Get("userID")