融光 ai-fusion-video 安全与认证:Spring Security Token 鉴权、用户角色与团队权限完整指南
人工智能AI 应用大模型媒体生成AI Agent后端前端【免费下载链接】ai-fusion-video【融光】 - 基于 Agent 的全流程AI短剧/漫剧/视频创作平台 - Java agentscope2.0 | Agent-based end-to-end AI creation platform for short dramas, motion comics, and videos – built on Java agentscope 2.0.项目地址https://gitcode.com/gh_mirrors/ai/ai-fusion-video点击查看免费下载融光 ai-fusion-video是基于 Agent 的全流程 AI 短剧/漫剧/视频创作平台Java agentscope 2.0。作为一个多人协作的创作平台它需要回答三个安全核心问题你是谁Token 鉴权、你能干什么用户角色、你能碰哪些作品团队权限。本文带你完整梳理这三层安全机制的实现原理与关键源码位置。一、安全架构总览无状态 Token 鉴权融光采用经典的无状态STATELESS Redis 会话方案核心组件都集中在security包中组件职责源码位置SecurityConfig.java过滤器链、CORS、401/403 统一响应fusion/security/TokenAuthenticationFilter.java每次请求解析 Token 并建立认证上下文fusion/security/TokenService.java双 Token 生成、刷新、吊销Redis 存储fusion/security/SecurityUserDetails.java承载用户 ID、角色、当前团队 IDfusion/security/SecurityUtils.java业务代码中获取当前登录用户fusion/security/1.1 登录与双 Token 机制用户调用/api/auth/login后AuthController.java 通过 Spring Security 的AuthenticationManager校验账密再由TokenService签发一对令牌access_token有效期2 小时每次请求携带用于接口鉴权refresh_token有效期7 天仅用于调用/api/auth/refresh换取新的令牌对。两个细节值得关注令牌轮换Rotation刷新时旧 refresh_token 立即作废签发全新的 refresh_token见 TokenService.java即使旧刷新令牌泄露也无法重复使用单端登录Redis 中维护userId - accessToken映射同一账号在新设备登录会踢掉旧会话。密码存储则使用 PasswordEncoderConfig.java 中配置的BCrypt单向哈希数据库中不存在明文密码。1.2 请求如何被校验每个请求经过 TokenAuthenticationFilter.java 处理从Authorization: Bearer {token}请求头取出 access_token → 到 Redis 查询会话 → 加载用户与角色 → 写入SecurityContext。业务代码随后只需调用SecurityUtils.getCurrentUserId()即可拿到当前用户无需关心鉴权细节。二、接口白名单与 401/403 统一响应并非所有接口都要求登录。SecurityConfig.java 中定义了明确的白名单其余接口一律authenticated()放行路径用途/api/auth/login、/api/auth/register、/api/auth/refresh登录、注册、令牌刷新/api/auth/reset-password/**密码找回/api/system/init/**首次管理员初始化/swagger-ui/**、/v3/api-docs/**接口文档/media/**、/art-styles/**生成的媒体文件与预设画风静态资源上图即来自static/art-styles/目录对于未登录和越权访问融光没有返回默认 HTML 错误页而是统一返回 JSON401{code:401,msg:未登录或登录已过期}403{code:403,msg:没有权限访问}前端 axios 拦截器据此自动触发刷新或跳转登录页体验连贯不中断。三、用户角色admin 与 user 的 RBAC 设计融光使用标准 RBAC 模型角色存储在sys_role表Role.java通过sys_user_role关联到用户。系统内置两个角色admin管理员可管理 AI 模型、API 配置、存储配置、角色、用户、团队等user普通用户使用项目、剧本、分镜、资产等创作功能。登录时 SecurityUserDetailsService.java 会查出用户全部角色并转换为ROLE_ADMIN、ROLE_USER等权限标识。管理端接口则通过方法级注解守护例如 RoleController.javaPostMapping(/create) PreAuthorize(hasRole(ADMIN)) public CommonResultLong createRole(...)使用同样方式的还有 AiModelController.java、StorageConfigController.java、UserController.java 等。普通用户即使伪造请求调用这些接口也会被 Spring Security 拦截并返回 403。 普通用户还能调用/api/system/role/list获取启用的角色列表用于前端权限判断与界面展示。四、团队权限开源版单团队 成员三级角色融光的数据隔离建立在团队之上。开源版仅支持单团队TeamService.java 中createTeam会拦截多团队创建但保留了一套完整的团队角色体系团队角色值说明创建者OWNER1初始化时由管理员账号自动获得管理员ADMIN2团队成员管理普通成员MEMBER3默认角色定义见 TeamMemberRoleEnum.java。4.1 当前团队 ID 存进令牌登录成功后当前团队 ID 会一并写入 Redis 令牌会话TokenSession。业务层通过SecurityUtils.requireCurrentTeamId()获取因此无需信任前端传参数据归属天然绑定到当前认证会话。用户还可通过/api/team/currentTeamController.java切换团队服务端会先校验成员身份再更新令牌。4.2 项目归属与访问控制新建项目时ProjectService.java 会自动打上团队归属ownerType2团队 /1个人访问校验逻辑canAccessProject同文件允许三种情况通过项目是自己个人创建的自己是项目成员ProjectMember表项目属于当前团队或项目创建者是团队内其他成员。剧本ScriptService.java、分镜StoryboardService.java、资产AssetService.java均通过getRequiredCurrentOwnerScopeByUser复用同一套团队归属逻辑保证团队内共享、团队外隔离。五、账号安全初始化与密码找回首次初始化系统未初始化时/api/system/init/setup开放给首位访问者创建管理员账号SystemInitController.java同时自动创建初始团队并默认关闭注册UserService.java后续是否开放注册由管理员在系统配置中控制。密码找回AuthController.java提供两种方式重置凭证在 Redis 中仅保留24 小时且重置后立即销毁邮箱方式配置 SMTP 后发送带 token 的重置链接日志方式仅管理员可用验证码输出到服务端日志适合本地自部署场景。六、前端 Token 管理自动刷新不跳登录页前端由 auth-store.tszustand persist保存令牌对client.ts 的 axios 拦截器完成了体验闭环请求拦截自动注入Authorization: Bearer {access_token}401 自动刷新捕获 401 后调用/api/auth/refresh并采用刷新队列机制——刷新期间并发的其他请求排队等待避免重复刷新失败兜底刷新失败或 refresh_token 过期时清除本地认证状态并跳转/login。七、关键源码导航 关注点路径安全配置与白名单ai-fusion-video/src/main/java/com/stonewu/fusion/security/SecurityConfig.javaToken 双令牌机制ai-fusion-video/src/main/java/com/stonewu/fusion/security/TokenService.java登录/注册/找回接口ai-fusion-video/src/main/java/com/stonewu/fusion/controller/system/AuthController.java团队与成员管理ai-fusion-video/src/main/java/com/stonewu/fusion/service/team/TeamService.java项目访问控制ai-fusion-video/src/main/java/com/stonewu/fusion/service/project/ProjectService.java前端令牌管理ai-fusion-video-web/lib/api/client.ts八、总结融光的安全体系可以概括为三句话无状态 Token Redis 会话解决了你是谁2 小时 access_token 7 天 refresh_token 轮换BCrypt 保护密码RBAC 角色解决了你能干什么PreAuthorize(hasRole(ADMIN))守护所有管理端接口团队归属模型解决了你能碰哪些作品当前团队 ID 绑定令牌会话项目/剧本/分镜/资产统一做团队隔离。对于自部署用户这套机制开箱即用对于二次开发者security包与TeamService的边界清晰是扩展多团队、细粒度权限的理想切入点。赞分享人工智能AI 应用大模型媒体生成AI Agent后端前端【免费下载链接】ai-fusion-video【融光】 - 基于 Agent 的全流程AI短剧/漫剧/视频创作平台 - Java agentscope2.0 | Agent-based end-to-end AI creation platform for short dramas, motion comics, and videos – built on Java agentscope 2.0.项目地址https://gitcode.com/gh_mirrors/ai/ai-fusion-video点击查看免费下载相关推荐Webiny API 安全与认证抽象层完全指南API Keys、角色、用户、团队与权限体系Webiny API 安全与认证抽象层完全指南API Keys、角色、用户、团队与权限体系 导读 Webiny 是一套运行在 AWS Serverless 之CMS后端前端云原生AI 应用S.data与S.value深度对比如何选择适合你的响应式数据源S.data与S.value深度对比如何选择适合你的响应式数据源 在现代JavaScript响应式编程中选择合适的数据源创建方式直接影响应用性能和代码质量TVBoxOSC电视盒子本地播放与网络流的快速配置指南TVBoxOSC电视盒子本地播放与网络流的快速配置指南 TVBoxOSC 是一款开源的电视盒子管理与播放应用面向想在电视大屏上看本地视频和网络内容的人。它解创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

ASP.NET五套实战项目拆解:登录权限、CRUD、分页与文件上传一次讲透

ASP.NET五套实战项目拆解:登录权限、CRUD、分页与文件上传一次讲透

简介:面向ASP.NET初学者的完整项目案例合集,内含5个从设计、编码到部署全流程的实战项目,覆盖C#编程、数据库交互、MVC模式、Entity Framework、Ajax及UI设计等核心知识点。适合正在学习ASP.NET Web Forms或MVC开发的学生与转行开发者&#x…

2026/10/11 20:39:26 阅读更多 →
Android教务数据桥接系统:轻量级本地化课表管理方案

Android教务数据桥接系统:轻量级本地化课表管理方案

简介:本资源是一套面向计算机相关专业本科生的Android毕业设计实战项目,聚焦高校课程电子化管理场景,为正在完成期末大作业或毕业设计的学生提供可直接复用的完整解决方案。压缩包共含论文、开发文档、数据库设计说明与可运行源码四大类内容&…

2026/10/11 20:39:26 阅读更多 →
从「准」到「实」再到「快」:中文图像生成的三次叙事转向意味着什么

从「准」到「实」再到「快」:中文图像生成的三次叙事转向意味着什么

从「准」到「实」再到「快」:中文图像生成的三次叙事转向意味着什么 【免费下载链接】Qwen-Image-2.1-Turbo 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen-Image-2.1-Turbo 过去一年,中文图像生成赛道的公共话题经历了三次肉眼可见的…

2026/10/11 20:39:25 阅读更多 →

最新新闻

PgQue 监控实战:5 个必须告警的队列健康指标 + 如何揪出卡住的消费者

PgQue 监控实战:5 个必须告警的队列健康指标 + 如何揪出卡住的消费者

【免费下载链接】PgQue PgQue – Zero-bloat Postgres queue built on top of on battle-proven Skypes PgQ. One SQL file to install, pg_cron to tick https://pgque.dev 项目地址: https://gitcode.com/gh_mirrors/pg/PgQue 点击查看 免费下载 PgQue 是一个零膨…

2026/10/11 22:49:35 阅读更多 →
农行银企直联全链路实战:从密钥申请到转账对账的Java避坑指南

农行银企直联全链路实战:从密钥申请到转账对账的Java避坑指南

简介:这份资源面向使用 Java 对接农业银行银企直联的开发者,聚焦企业财务系统与银行系统之间的电子数据交换场景,帮助解决转账、余额查询、支付等业务自动化处理中的接口开发与安全控制问题。压缩包共 20 个文件,约 23KB&#xff…

2026/10/11 22:49:35 阅读更多 →
从需求到建库:工厂物资管理数据库系统设计实战

从需求到建库:工厂物资管理数据库系统设计实战

简介:《工厂物资管理数据库系统》是一份面向高校数据库课程设计、毕业设计及物资管理项目初学者的完整设计报告。文档围绕工厂物资采购、入库、领用、库存盘点与报废处理全流程,按设计任务说明、需求分析、概念模型设计、逻辑模型设计、物理模型设计和数…

2026/10/11 22:49:35 阅读更多 →
Java实现人体姿态识别与动作评分:ONNX Runtime与DTW实战指南

Java实现人体姿态识别与动作评分:ONNX Runtime与DTW实战指南

简介:基于Java的人体姿态识别与动作评分系统,以动态捕捉画面中人体关键点为入口,在双侧肩、肘、髋、膝八个关节处同步生成角度数据,并融合姿态评估、实时语音提示和训练后多维分析,可服务于运动康复、体态矫正等专业场…

2026/10/11 22:49:35 阅读更多 →
从多智能体到提示注入:awesome-ai-agent-papers 5大核心分类全解析

从多智能体到提示注入:awesome-ai-agent-papers 5大核心分类全解析

【免费下载链接】awesome-ai-agent-papers A curated collection of AI agent research papers released in 2026, covering agent engineering, memory, evaluation, workflows, and autonomous systems. 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-ai-…

2026/10/11 22:49:35 阅读更多 →
Vscode插件推荐——智能切换输入法(Smart IME)与TaoToken配置实践

Vscode插件推荐——智能切换输入法(Smart IME)与TaoToken配置实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 22:48:31 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →