Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
23 tasks done
heqingpan opened this issue Nov 17, 2023 · 13 comments

Comments

@heqingpan
Copy link
Collaborator

heqingpan commented Nov 17, 2023

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

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

延伸:

  • 后面新控制台基本功能稳定后,会考虑支持OpenID Connect登陆与自定义http鉴权等扩展登录方式。
@heqingpan heqingpan changed the title r-nacos新控制台支持用户密码登陆,支持对外网暴露 r-nacos新控制台支持新开一个http端口、支持用户密码登陆、支持对外网暴露 Nov 17, 2023
@heqingpan heqingpan changed the title r-nacos新控制台支持新开一个http端口、支持用户密码登陆、支持对外网暴露 开发r-nacos新控制台,支持新开一个http端口、支持用户密码登陆、支持对外网暴露。 Nov 18, 2023
@heqingpan
Copy link
Collaborator Author

【2023-11-20】

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

@heqingpan
Copy link
Collaborator Author

heqingpan commented Nov 23, 2023

【2023-11-23】

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

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

heqingpan added a commit that referenced this issue Nov 27, 2023
2. 增加更新密码接口
3. 增加登出控制台接口
issue #29
@heqingpan
Copy link
Collaborator Author

【2023-11-27】

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

@heqingpan
Copy link
Collaborator Author

【2023-11-29】

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

@heqingpan
Copy link
Collaborator Author

heqingpan commented Nov 30, 2023

【2023-12-01】

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

@heqingpan
Copy link
Collaborator Author

【2023-12-07】

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

@heqingpan
Copy link
Collaborator Author

【2023-12-08】

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

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

heqingpan added a commit that referenced this issue Dec 9, 2023
2. 更新rnacos-web-dist-wrap 版本号为 0.2.3-beta.4 #29
@heqingpan
Copy link
Collaborator Author

【2023-12-09】

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

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

@heqingpan
Copy link
Collaborator Author

heqingpan commented Dec 16, 2023

【2023-12-16】

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

heqingpan added a commit that referenced this issue Dec 17, 2023
2. rnacos-web-dist-wrap 版本号更新到0.2.3-beta.6
 issue #29
@heqingpan
Copy link
Collaborator Author

heqingpan commented Dec 17, 2023

【2023-12-17】

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

角色权限说明:

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

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

heqingpan added a commit that referenced this issue Dec 17, 2023
heqingpan added a commit that referenced this issue Dec 17, 2023
@heqingpan
Copy link
Collaborator Author

heqingpan commented Dec 20, 2023

【2023-12-19】

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

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


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

@heqingpan
Copy link
Collaborator Author

【2023-12-22】

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

@heqingpan
Copy link
Collaborator Author

【2023-12-23】

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant