文档目录
glen
· 预计阅读 1 分钟

登录态存在哪里

本文导航
登录态存在哪里

登录态存在哪里

登录成功后,框架把令牌和用户资料拆开放。

位置 键 内容
Cookie authorized-token accessToken、过期时间、refreshToken
Cookie multiple-tabs 标记这个浏览器会话还算登录。浏览器完全关掉后消失
localStorage user-info 头像、用户名、昵称、角色、权限、refreshToken、过期时间
localStorage user-permissions-cache /users/me/permissions 的结果,TTL 24 小时
Pinia useUserStore 内存 上面这些的当前副本

读写都走 src/utils/auth.ts 的 getToken、setToken、removeToken,不要在页面里直接改 cookie。

令牌怎么带上

formatToken 得到 Bearer <token>。HTTP 拦截器对非白名单请求自动加 Authorization。白名单是路径里包含 /refresh-token 或 /login 的请求,避免刷新失败时死循环。

过期之后

响应拦截器看到 401,调用 useUserStoreHook().logOut():清 token、清动态路由、清多标签、回到登录页。并发的 401 只会登出一次,isLoggingOut 挡住重复跳转。

权限缓存过期或被清掉之后,按钮会按空权限计算,即使令牌还有效。重新登录,或调用 store 的 fetchAndCachePermissions(),才会再请求 /api/v1/users/me/permissions。

超管这份接口返回 ["*:*:*"]。hasPerms 看到这个通配就放行。

评论

加载评论中…

上一篇 状态与权限 下一篇 三套权限各自判断什么

BitLabs © 2026 · 论坛讨论 · 博客长文 · 文档手册