Cómo resolver el problema de los permisos en el proyecto de educación en línea de granos

1. Primero, después de que todos los extremos frontales y posteriores se hayan copiado e integrado, luego modifique la ruta de la base de datos

2. Modifique la ruta de enrutamiento en el uindex.js anterior.

3. El permiso no se muestra correctamente porque no hay datos clave en la tabla de base de datos acl_role_permission,
es decir, el permiso de rol actual debe tener un dato cuyo permiso_id sea 1. Es como se muestra en la siguiente figura: después de que
cada rol haya agregado permisos relacionados, se debe agregar un dato más con un permiso_id de 1; de lo contrario, el menú no se mostrará.

Inserte la descripción de la imagen aquí
Código específico:
1. Interfaz, agregue este código en acl / role.js

      save2(roleId) {
    
    
        return request({
    
    
          url: `${
     
     api_name}/save2`,
          method: 'post',
          params: {
    
    roleId}
        })
      }, 

2. En la página views / acl / role / roleForm.vue

     //插入该角色id附属permission_id=1,固定值,否则菜单不会出现
      saveData() {
    
    
         roleApi.save2(this.roleId).then(
         response =>{
    
    
              if(response.success){
    
    
                this.saveData()
               }
           })
      } 

3. Agregue otra línea de llamada al método:
Inserte la descripción de la imagen aquí

4. Backend:

//新增加一个角色信息
@PostMapping("save2")
public R save2(@RequestParam String roleId) {
    
    
    rolePerService.save2(roleId);
    return R.ok();
}
//新增加一个角色信息
void save2(String roleId);
public void save2(String roleId) {
    
    
    QueryWrapper<RolePermission> wrapper=new QueryWrapper<RolePermission>();
    RolePermission r=new RolePermission();
    r.setPermissionId("1");
    r.setRoleId(roleId);
    System.out.println(r);
    QueryWrapper<RolePermission> wrapper2=new QueryWrapper<RolePermission>();
    wrapper2.eq("permission_id",1);
    wrapper2.eq("role_id",roleId);
    RolePermission selectOne = baseMapper.selectOne(wrapper2);
    if(selectOne==null){
    
    
        baseMapper.insert(r);
    }
}

Supongo que te gusta

Origin blog.csdn.net/qq_34134299/article/details/109307716
Recomendado
Clasificación