day04-FastAPI-bossApi,登录,注册等功能实现
FastAPI BossApi 求职者登录 注册功能实现文档一、项目整体技术栈Web 框架FastAPI异步接口框架自动生成 OpenAPI 文档ORMTortoise-ORM异步 MySQL ORM终端日志可见 SQL 执行记录缓存Redis图中代码已初始化 redis 客户端db6decode_responsesTrue数据库MySQL认证方案后续可搭配 JWT 实现登录态维护项目分层架构从截图目录梳理分层思想路由 apis → schema 参数校验 → service 业务层 → models 数据库模型解耦便于维护。二、Redis 初始化截图代码片段说明作用后续登录成功后可以把JWT 令牌 / 用户会话信息存入 Redis实现登录校验、token 过期控制、单点登录等。decode_responsesTrue自动将 Redis 返回 bytes 转为字符串无需手动 decode。三、求职者登录功能实现手机号密码登录1. 层级流转流程前端请求→ apis/job_seeker_api.py 路由 → LoginMobileRequest (schema 校验请求参数) → JobSeekerService.login_by_mobile_password () → JobSeeker 模型查询数据库 → 校验手机号、密码 → 返回登录信息 / JWT2. Service 核心代码截图可见代码3. 相关配套文件说明schemas 层LoginMobileRequestPydantic 模型定义前端提交的请求体格式自动完成参数校验2.models 层JobSeeker 数据库模型⚠️ 生产环境风险提示当前示例直接明文对比密码真实项目数据库不能存储明文密码需要使用 bcrypt 对密码加盐哈希加密。3.apis 路由层 job_seeker_api.py四、求职者注册功能实现配套登录完整业务业务流程前端提交手机号、密码、姓名 → schema 校验 → service 校验手机号是否已注册 → 不存在则创建 JobSeeker 记录 → 返回注册成功1. Service 新增注册方法2. 新增注册 Schema五、登录后鉴权整体方案结合 Redis用户登录校验成功 → 服务端生成 JWT将用户ID-token键值写入 Redis设置过期时间编写 FastAPI 依赖函数get_current_user需要登录的接口添加依赖自动从请求 Header 获取 token查询 Redis 验证有效性六、现存优化点重点密码安全当前代码直接明文存储、明文比对。优化使用passlib[bcrypt]注册时加密登录时校验哈希禁止明文入库。异常统一处理代码中直接raise Exception建议自定义业务异常配合 FastAPI 全局异常中间件统一返回固定格式 JSON不要返回原生异常堆栈。请求参数增加正则校验手机号格式在 Pydantic schema 增加手机号正则验证拦截非法号码。增加限流登录接口使用 Redis 限流防止暴力破解密码限制同一手机号 1 分钟内最多 5 次尝试。环境变量解耦Redis host/port、数据库地址不要硬编码读取.env环境配置文件。七、完整调用链路汇总注册POST /job-seeker/register → schema 校验 → service 查重 → ORM 创建用户 → 响应登录POST /job-seeker/login → schema 接收手机号密码 → service 查询用户 → 校验账号密码 → 生成 token 写入 redis → 返回 token鉴权接口请求头携带 token → 依赖函数校验 Redis 中的 token → 执行业务逻辑

相关新闻

随机数指纹技术:AI模型防篡改与完整性验证实践

随机数指纹技术:AI模型防篡改与完整性验证实践

这次我们来看一个很有意思的技术话题:如何用随机数指纹识别AI模型是否被调包。在AI模型部署和使用的过程中,模型安全是一个容易被忽视但至关重要的问题。当你下载一个预训练模型,或者从第三方获取模型文件时,如何确认这个模型就是…

2026/7/23 4:33:14阅读更多 →
本地部署AI工具包:图像处理、语音合成与文本识别集成指南

本地部署AI工具包:图像处理、语音合成与文本识别集成指南

这次我们来看一个本地部署的AI工具项目。这个项目的主要特点是支持多种AI功能集成,包括图像处理、语音合成、文本识别等能力,适合需要在本地环境运行AI模型的开发者。从项目信息来看,这个工具包提供了相对完整的本地AI解决方案,支…

2026/7/23 4:33:14阅读更多 →
基于SLAM十四讲经典Sophus示例代码对应李代公式

基于SLAM十四讲经典Sophus示例代码对应李代公式

本文基于SLAM十四讲经典Sophus示例代码 Sophus代码逐模块拆解:SO(3)、SE(3)李群李代数对应数学公式 把每一行代码和李群、李代数数学公式一一对应,方便学习SLAM位姿表示与扰动模型。 符号约定(与Sophus库保持一致) SO(3)\boldsymb…

2026/7/23 4:33:14阅读更多 →
CSDN版本

CSDN版本

CH582F RISC-V飞控板开发教程(一):硬件架构解析GPIO控制LED与按键交互完整代码 关键词:CH582F、RISC-V、飞控板、GPIO、嵌入式开发、MounRiver Studio、穿越机文章目录 飞控板硬件架构与核心器件选型开发环境搭建(Moun…

2026/7/23 5:55:27阅读更多 →
播客听完就忘怎么办?用这款AI工具把播客转文字笔记,自动提炼要点+生成思维导图

播客听完就忘怎么办?用这款AI工具把播客转文字笔记,自动提炼要点+生成思维导图

播客是个好东西,信息密度高、话题覆盖广、通勤路上听正合适。但播客也有一个硬伤:内容很难被记住和再利用。 一小时的播客听完,当时觉得学到了不少,真到下笔写稿子的时候想引用个观点,只记得好像在某期听过。去App里翻…

2026/7/23 5:55:27阅读更多 →
资质齐全的武威最靠谱的建筑公司

资质齐全的武威最靠谱的建筑公司

不少项目负责人找武威区域的建筑合作方时,都会问:资质齐全的本地企业要怎么挑?毕竟资质是项目合规推进的基础,踩过资质挂靠、手续不全的坑的同行都知道,哪怕报价再低,资质不合规的合作方只会给项目埋下无穷…

2026/7/23 5:55:27阅读更多 →
清空收藏夹!清华团队做的AI笔记工具,支持几乎全网视频转图文笔记+思维导图

清空收藏夹!清华团队做的AI笔记工具,支持几乎全网视频转图文笔记+思维导图

你有没有这样的经历:B站收藏了上百个视频,播客订阅了十几档节目,真正看完的不到10%。每次打开收藏夹都有一种愧疚感,但下一个好内容出现时又忍不住点了收藏。 我说一个数据。 我自己的B站收藏夹里躺着200多个「等有空再看」的视频…

2026/7/23 5:55:27阅读更多 →
EvoMDT:用于多癌种结构化临床决策的自进化多智能体系统文献速递/医学智能体前沿

EvoMDT:用于多癌种结构化临床决策的自进化多智能体系统文献速递/医学智能体前沿

2026.7.22本文提出EvoMDT,以角色分工、证据检索、共识协调和自进化机制模拟肿瘤MDT,在多癌种临床决策中提升可追溯性、效率和安全性。Title题目01EvoMDT:用于多癌种结构化临床决策的自进化多智能体系统EvoMDT: a self-evolving multi-agent s…

2026/7/23 5:55:27阅读更多 →
C++函数深度解析:从参数传递到现代特性,提升代码效率与安全性

C++函数深度解析:从参数传递到现代特性,提升代码效率与安全性

1. 从“Hello World”到“庖丁解牛”:为什么我们需要深入理解C函数如果你刚开始学C,可能觉得函数不就是把一段代码包起来,起个名字,然后反复调用吗?int add(int a, int b) { return a b; },这有什么好“详…

2026/7/23 5:53:27阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/23 0:56:31阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/23 0:56:31阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 0:56:31阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:00:28阅读更多 →
从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:28阅读更多 →
油泥处理设备哪里能买到

油泥处理设备哪里能买到

油泥处理设备哪里有?这是许多从事油田、炼化、清罐业务的从业者最关心的问题。根据河南三丰环保设备有限公司的行业经验,选购油泥处理设备的核心在于设备能否适配当地环保法规与原料特性,而非单纯看价格。该公司总经理王钦田先生指出&#xf…

2026/7/23 0:00:28阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/22 22:56:18阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/22 18:55:50阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/22 18:55:50阅读更多 →