SuperAPI AI 工具集

router-core/auth-and-guards

安全与审计

查看项目

更新于 10-16 10:22

技能介绍

用途:整理 TanStack Router 中路由鉴权的做法,覆盖 beforeLoad、redirect()/throw redirect()、isRedirect 辅助函数、_authenticated 无路径布局路由与内联登录等非重定向鉴权方式。

主要能力:以 _authenticated 路径无关布局路由配合 beforeLoad 统一拦截未登录访问,子路由自动受保护;通过 createRootRouteWithContext 与 RouterProvider 的 context 属性注入鉴权状态,避免重建 router;支持登录后回跳,并用 sanitizeRedirect 校验目标防止开放重定向;内联登录可在不改变 URL 时用登录表单替代 Outlet;扩展 role/permission 帮助函数后可在 beforeLoad 中做 hasRole、hasAnyRole、hasPermission、hasAnyPermission 校验。

用法与限制:redirect() 通过抛错实现,beforeLoad 内 try/catch 需用 isRedirect 重新抛出;鉴权检查应放在 beforeLoad 而非组件内,避免受保护内容闪现;根路由始终渲染,不能条件渲染其组件做鉴权。关键限制:路由守卫不保护该路由上的 createServerFn,服务端函数是可独立访问的 RPC 端点,需在 handler 上使用 authMiddleware 等做鉴权。服务端会话 Cookie、OAuth、CSRF、限流等未在此资料展开,需参阅姊妹技能。