Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
182 lines (92 sloc) 5.36 KB

用户管理

这部分文档主要用来介绍用户管理,它可以很精细的管理你的用户权限

用户列表

用户列表:顾名思义,用来管理和展示用户的列表,记录用户的详细信息

功能支持

  • 搜索用户
  • 新建用户
  • 删除用户
  • 关闭用户
  • 重置密码
  • 重置MFA(Google Authenticator)
  • 生成长期Token(管理员)

展示界面

user_list

权限列表

用来详细配置管理每个接口的权限,默认不需修改。

注意事项

  • 系统默认已经配置了所有权限和方法,管理员默认拥有/权限,无需修改,以免造成系统请求某功能出错

功能说明

  • 支持多种搜索方式,如:权限名称、请求路径、请求方法、时间等

  • 支持新增、编辑、关闭、删除等操作权限的管理

  • 支持新增自定义权限功能,适用于开发人员编写的API接口能很方便的接入进来权限管理划分

  • 一些详细的API及使用文档正在支持更新中............

user_list

菜单组件

菜单组件:顾名思义,也就是导航栏所看到的功能模块(如:用户管理、系统管理)和一些功能按钮(如:编辑、删除按钮),默认无需修改

注意事项

  • 系统默认已经配置了所有菜单功能模块及组件,无需修改此项,以免造成访问出错。

功能介绍

列举以下几个菜单和组件进行介绍,字面英语也可看出含义,如下:

  • home:家目录
  • usermanage:用户管理
  • cron:定时任务
  • edit_button:编辑按钮

由于代码层面不好直接使用中文,你可以选择平台语言English,如下图,很清晰看到每个作用。

menus

角色管理

基于RBAC角色管理访问控制权限,可以很精细/方便的管理你的用户权限

功能介绍

  • 角色的搜索、编辑、关闭、删除

  • 自定义角色名字,自定义赋权组件、菜单、权限管理

  • 列表可搜索赋权设计,方便用户可视化操作

rbac

示例介绍分为两部分,创建管理员用户赋权和创建普通用户赋权

创建普通用户示例

新建用户

同上,填写信息即可,详细权限管理全部在角色管理配置

用户赋权

create_general_user

general_user_epm

创建管理员用户示例

新增用户

点击用户列表---新增用户,输入信息

create_user

用户赋权

点击角色管理---新建,输入角色信息,选择角色进行赋权

create_rbac

user_emp

user_emp02

user_emp03

获取长期Token

本系统使用token进行身份验证,当用户需要API进行访问的时候就需要获取token,并把token放入cookie里或者 访问的url参数里

  • 从用户管理 > 菜单组件里面找到 get_token_btn 这个代表获取token的按钮 要存在并且启用
  • 从用户管理 >角色管理里面找到你要赋值的角色,点击组件把get_token_btn 添加进去

  • 从用户管理 > 用户列表 会看到这个长期token的按钮,如果你是超级管理员 你就可以选中用户点击,然后系统会通过邮件把这个用户的token 发送至当前用户以及被选中用户的邮箱,token 有效期为三年。强烈建议如果使用token进行操作的时候 使用单独用户,防止人员变动造成token不可用,要进行精确权限控制,做好备注,且不要给此用户菜单以及组件权限。

  • 使用token 向 CODO 服务 API 提交安全的 REST 或 HTTP 查询协议请求。为了您的安全,请不要与任何人分享您的密钥。作为最佳做法,我们建议经常更换密钥
  • 简单python示例,当然你之前一定会检查这个token是否对这个接口有权限,对吧!
import requests
import json

auth_key= '这里就是你的token'
url = 'https://xxx.xxxx.cn/api/kerrigan/v1/conf/publish/config/?project_code=shenshuo&environment=dev&service=nginx&filename=demo.conf'
### 使用 cookie 传递
try:
    res = requests.get(url, cookies=dict(auth_key=auth_key))
    ret = json.loads(res.content)
    if ret['code'] == 0: return ret['data']
except Exception as e:
    print('[Error:] 接口连接失败,错误信息:{}'.format(e))
    exit(-1)

### 使用url 传递
try:
    _params = {'这里是参数名': '这里是参数值', 'auth_key': auth_key}
    res = requests.get(url, params=_params)
    ret = json.loads(res.content)
    if ret['code'] == 0: return ret['data']
except Exception as e:
    print('[Error:] 接口连接失败,错误信息:{}'.format(e))
    exit(-2)
You can’t perform that action at this time.