nacos-group / r-nacos

Nacos server re-implemented in Rust.
https://r-nacos.github.io/docs/
Apache License 2.0
933 stars 100 forks source link

开发r-nacos新控制台,支持新开一个http端口、支持用户密码登陆、支持对外网暴露。 #29

Closed heqingpan closed 10 months ago

heqingpan commented 11 months ago

目前r-nacos已通过raft协议在集群支持用户、缓存信息储存(r-nacos可当做是一个分布式数据库),后面可以开始支持用户登录鉴权。

  1. [x] 支持另开一个http端口专门用于新控制台,可以单独开放新控制台的端口到外网使用。
  2. [x] 新控制台http端口请求,增加一个统一的登录校验拦截,支持登录校验频率等必要的校验,以支持对外网暴露。
    1. [x] 登录状态拦截中间件
    2. [x] 获取登录验证码接口
    3. [x] 登录校验接口
    4. [x] 查询使用信息接口
    5. [x] 更新用户密码接口
    6. [x] 退出登录接口
    7. [x] 登录校验失败频率限制,防止暴力破解用户密码
  3. [x] 启用新控制台时,默认增加一个管理员。
  4. [x] 新控制台增加一个用户管理模块,管理用户,与用户权限。
    1. [x] 用户表信息支持存储权限角色信息
    2. [x] 管理管理增删查改接口
  5. [x] 新控制台维护一个简易权限控制模块
    1. [x] 角色与权限关系维护
    2. [x] 按角色返回可用的菜单列表接口给前端使用
    3. [x] 控制台请求后端增加权限控制校验
  6. [x] 新控制台 web前端页面实现
    1. [x] 登陆页面
    2. [x] 退出登录
    3. [x] 修改当前用户密码
    4. [x] 用户信息管理
    5. [x] 根据权限控制用户可访问页面

延伸:

heqingpan commented 11 months ago

【2023-11-20】

  1. 另开一个http端口专门用于新控制台,开发验证完成;
  2. 新控制台http端口请求增加一个统一的登录校验拦截, 开发完成;
  3. 新控制台登录接口开发完成;
heqingpan commented 11 months ago

【2023-11-23】

  1. 增加raft缓存本地存储的过期清理逻辑
  2. 增加初始化管理用户信息功能,默认管理员用户:admin,密码:admin
  3. 新控制台初步完成登陆页面功能 ;
  4. 初步完成未登录拦截自动跳转机制 ;

新控制台的登陆与访问拦截已基本可用,本地启动当前分支后,默认配置通过 http://127.0.0.1:10848 可访问新控制台。

heqingpan commented 11 months ago

【2023-11-27】

  1. 增加查询用户信息接口
  2. 增加更新密码接口
  3. 增加登出控制台接口
heqingpan commented 11 months ago

【2023-11-29】

  1. 新控制台增加退出登录操作入口
  2. 更新前端版本号到0.2.3-beta.2
heqingpan commented 11 months ago

【2023-12-01】

  1. 增加用户登录图片验证码接口
  2. 登陆增加验证码校验。
  3. 更新前端版本号到0.2.3-beta.3
    1. 登陆页增加图片验证码校验
    2. 增加用户修改密码页面
heqingpan commented 11 months ago

【2023-12-07】

  1. 调整raft user逻辑,支持维护用户角色、是否启用功能
  2. 初步完成控制台用户管理增删查改接口
heqingpan commented 11 months ago

【2023-12-08】

  1. 初步完成控制台用户管理页面中展示用户列表功能。

本次用户管理页面只完成部分,暂不发布前端新版本。

heqingpan commented 11 months ago

【2023-12-09】

  1. 完成控制台用户管理模块的整体功能。
  2. 更新前端版本号到0.2.3-beta.4
  3. 新控制台的用户管理、用户访问两个模块整体功能已完成。发布r-nacos新版本 v0.4.0-beta.1

新控制台后面还差最后一个角色权限控制功能模块待开发。

heqingpan commented 10 months ago

【2023-12-16】

  1. 初步完成新控制台角色与权限关系维护。
  2. 步完成查询当前用户角色可访问前端资源接口,以提供给前端做页面权限控制。
heqingpan commented 10 months ago

【2023-12-17】

  1. 新控制台前端增加页面权限控制;
  2. 新控制台后端增加接口与页面的请求的权限控制;
  3. 发布r-nacos新版本 v0.4.0-beta.4

角色权限说明:

  1. 管理员: 所有控制台权限
  2. 开发者:除了用户管理的所有控制台权限
  3. 访客:只能查询配置中心与注册中心的数据,没有编辑权限。

新控制台总体功能已完成,还有登录校验失败频率限制等一部分安全增强内容待补充,完成后再发正式版本。

heqingpan commented 10 months ago

【2023-12-19】

  1. 登录校验失败频率限制,防止暴力破解用户密码。

默认1小时内允许5次登陆验证,5次验证错误后需要等1小时后对应用户才能再次登陆;登陆成功后会重置登陆限置。 支持通过配置文件设置限制次数。


新控制台计划中的整体功能已开发完成,后面补充对应文档和完善一些细节后再发正式版本。

heqingpan commented 10 months ago

【2023-12-22】

目前登陆时传输的密码是明文,计划使用加密后传输。

heqingpan commented 10 months ago

【2023-12-23】

发布0.4.0正式版本支持独立端口新控制台。