0%

权限的一种实现方式

动手开发自己的鉴权服务

摘出两个功能点简单说一下

  • 资源类型
    • 支持动态新增资源类型
    • 资源类型新增后,支持新增资源类型权限配置(资源数据的获取支持SQL、RPC等)
  • 资源类型支持属性
    • 通过资源类型的属性,实现ABAC的能力

      • 比如:
      • 资源类型APP上添加属性env,并指定env的取值,那在配置权限的时候就通过env来配置权限
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        // 环境在 stage、test、dev中
        {
        "StringIn": {
        "env": [
        "stage",
        "test",
        "dev"
        ]
        }
        }
    • 比如 添加时间

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 周一到周五 9点到18点
{
"WeekDayIn": {
"time": [//周一到周五
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
]
},
"TimeLessThanEquals": {
"time": 36000 // 18点
},
"TimeGreaterThanEquals": {
"time": 3600 //9点
}
}

欢迎关注我的其它发布渠道