28e53d90fc
- 统一 OpenAI 兼容 /v1 中继 + 渠道/额度/令牌/流水 - 各领域包:relay 模型网关、model 数据层、controller 管理 API
28 lines
585 B
Go
28 lines
585 B
Go
package authz
|
|
|
|
import "strconv"
|
|
|
|
// Permission identifies a single action on a resource.
|
|
type Permission struct {
|
|
Resource string
|
|
Action string
|
|
}
|
|
|
|
// PermissionsMap is a resource -> action -> allowed lookup.
|
|
type PermissionsMap map[string]map[string]bool
|
|
|
|
const (
|
|
EffectAllow = "allow"
|
|
EffectDeny = "deny"
|
|
)
|
|
|
|
// UserSubject is the casbin subject string for a single user.
|
|
func UserSubject(userID int) string {
|
|
return "user:" + strconv.Itoa(userID)
|
|
}
|
|
|
|
// RoleSubject is the casbin subject string for a role.
|
|
func RoleSubject(roleKey string) string {
|
|
return "role:" + roleKey
|
|
}
|