vue.js - 存储和检索用户角色
问题描述
我对 Vue.js 比较陌生。我们的应用程序需要根据用户角色限制/保护对特定页面的访问,因此也只在菜单中显示相应的项目。
我想了解存储用户角色信息并在必要时检索以做出这些决定的推荐方法是什么。
我四处搜索并找到了关于 Vuex Store 的页面,可能存储在 Session Storage 中,甚至是 CASL 之类的库中,但如果有的话,我会更加困惑。
如果有经验丰富的 Vue 开发人员提供任何反馈,我将不胜感激。
解决方案
我建议您将用户数据存储在专用的 Vuex 模块状态(比如“帐户”)中,并创建 getter 来获取计算值,其中之一是isAuthenticated
. 检查用户是否通过身份验证的最常见方法是获取状态值(因为默认值应该是null
)。
state: {
account: null
},
actions: { // Here we will fill the account state },
getters: {
isAuthenticated (state) {
return Boolean(state.account);
}
}
PS - 在特殊情况下,用户数据可能存储在 LocalStorage、SessionStorage、Cookies 等中,在这种情况下,您仍然可以通过 Vuex 访问这些数据。但基本上,我们只在这些商店中存储代币。
推荐阅读
- c# - C# WinForm 按钮单击事件
- typescript - Gridsome:Typescript 抱怨 $page 和 $static 属性
- reactjs - 无法使用自定义标签栏反应原生
- javascript - D3在Arc中绘制文本,文本中没有下划线
- java - 如何编译 jar/artifact 并动态加载它,而无需在调试模式下停止服务器(maven 项目)
- reactjs - 在 Zusand 中处理关系数据
- python - zip_ref.namelist 没有给出完整路径
- python - 是否可以在没有 api 端点的情况下调用 lambda 函数?
- python - mentions_timeline() 接受 1 个位置参数,但给出了 2 个
- javascript - 我如何让javascript循环等待循环的每次迭代完成,然后再开始下一次?