Spring Boot3+Vue3实现角色权限控制

分析一下:角色权限都需要做哪些东西?或者说哪些地方需要用权限控制

1.菜单部分:不一样的角色可以看到不一样的菜单,甚至菜单的名字叫法都不一样

2.按钮部分:涉及到具体的功能业务逻辑,比如管理员可以新增但是用户不可以

3.数据部分:管理员可以看到所有数据,而用户只能看到与自己有关的数据

 权限怎么做(思路)

 1.我们得有角色的概念,什么是角色?但凡你需要让他登录的,都是角色

 2.如何区分不同的角色,不同的角色表里需要有角色的标识,不同的角色的标识是不一样的,比如管理员和租户

 3.借助角色表示,可以在页面上进行一些逻辑判断

 如何实现

 1. v-if

const updateUser = () => {
  data.user=JSON.parse(localStorage.getItem('pro1-user') || "{}")
}

 2.要实现只有管理员才能新增房屋信息,租户无法新增的功能,可以通过前后端结合的方式来实现权限控制。

  1. 用户登录 → 后端返回用户信息(含角色) → 前端保存到localStorage

  2. 每次请求 → 前端自动携带token → 后端拦截器验证

  3. 访问管理接口 → 后端检查角色 → 通过/拒绝

  4. 前端页面 → 根据角色显示/隐藏功能按钮

  2.1 修改Controller添加权限控制

   2.2 登录时保存用户角色

   2.3 修改页面权限控制

    2.3 修改模板显示逻辑

 <el-button type="primary" @click="handleAdd" v-if="data.userRole === '管理员'">>新增</el-button>
      <el-button type="warning" @click="deleteBatch" v-if="data.userRole === '管理员'">批量删除</el-button>
posted @ 2025-04-16 15:09  师大无语  阅读(362)  评论(0)    收藏  举报