【7. 实现登录注册模块】:实现会话管理、注册/登录/退出 API

发布时间:2026/8/1 8:28:11
【7. 实现登录注册模块】:实现会话管理、注册/登录/退出 API 目录1. 实现会话管理2. 实现注册 API2.1 密码加密2.2 实现登录 API2.3 实现退出登录1. 实现会话管理SPEC.md 根据文档描述开始开发 Phase 4 中的 Session/Cookie 认证机制开发会话管理类实现会话的管理功能。先不要着急实现登录和注册的 api并基于 gtest 编写对应功能的单元测试放至 tests/unit/ 中AI 此轮完成下列开发实现Session类表示一个会话实现SessionManager类用来管理多个会话内部通过map来组织多个Session对象实现会话管理的单元测试用例。2. 实现注册 APISPEC.md 根据文档描述实现 Phase 4 中的 用户注册 API.这一轮AI主要实现新建auth_handler处理注册请求。修改router添加注册路由。2.1 密码加密我们希望注册逻辑中数据库存储的应该是密文所以检查 AI 实现的代码后如果发现是明文存储我们可以指定 AI 使用密文进行存储。首先安装一个成熟的 C 密码库bcrypt 是内置功能.sudo apt install libbotan-2-dev另起一个新的会话请重构 backend/service/auth_service.cpp 把其中针对密码进行加密和验证的逻辑替换成使用 libbotan2-dev 来实现重构完毕之后和之前一样再进行测试用例的设计针对上面开发的内容基于 gtest 设计单元测试存放到 tests/unit/ 中.2.2 实现登录 APISPEC.md 根据文档描述实现 Phase 4 中的 “用户登录 API”.在这一轮中AI实现的内容如下创建了用于实现加密密码验证的函数在登录模块中添加登陆处理函数在路由模块中添加路由由于注册时使用的密码是加密的因此登录中也需要对密码先按照同样的方式加密再对比密码的密文是否和数据库中存储的密码密文是否相同。和之前一样开发完成之后也需要编写单元测试针对上面开发的内容基于 gtest 设计单元测试存放至 tests/unit/ 中需对验证密码的逻辑和登录功能一同进行测试.2.3 实现退出登录 APISPEC.md 根据文档描述开发 Phase 4 中 用户退出登录 这部分代码并基于 gtest 设计单元测试放至 tests/unit/ 中.这此 AI 完成了修改router注册路由。修改auth_handler实现退出登录接口。创建单元测试用例。所谓的退出登录实现起来其实非常简单本质上就是根据请求中带有的 session_id把对应的会话删除掉即可。