数据权限问题的几种处理和思考

背景

在权限管理中一般分为两类:操作权限、数据权限

操作权限:是用户是否能使用某个功能的接口权限。
数据权限:是用户是否能操作某个范围的数据,例如:订单记录修改接口,“用户”只能修改所属的(用户A不能修改用户B的订单记录),“admin”可修改所有的。

现有权限管理一般是基于RBAC(Role-Based Access Control)模型,都只能解决操作权限的控制,即使粒度再小(如把订单权限划分为增、删、改、查权限)也不能解决数据权限的问题。

操作权限与数据权限的关系,下面是个例子:

截屏20210823 上午9.16.27.png

admin和张三(员工)都有公寓大门的钥匙,他们都能进入公寓(访客不能进入),虽然他们都能进公寓但他们管理但房间是不同的,张三只能使用自己的房间,管理员可以使用所有的房间,如果张三使用了其他人的房间就会引发问题——数据权限安全问题。

那么如何在已有的权限管理模型下对数据权限进行管理是数据安全难以避免的问题。

数据权限问题的解决

数据权限问题的来源

不属于用户拥有的一条或多条数据被非法操作。

解决方式

1、通过业务逻辑对数据所属进行验证,因为不同业务对数据安全性有不同的需求,这种是常用方式
2、通过框架验

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Vue菜单权限和路由权限可以通过Java接口提供数据来实现。在Vue,我们可以定义一个菜单权限数据,该数据包含了用户在系统具有的菜单权限。可以使用Java接口来提供这些菜单权限数据,然后在Vue进行调用和展示。 在Java,我们可以定义一个接口,例如MenuService,该接口提供获取菜单权限数据的方法。在该接口,可以定义获取所有菜单权限的方法、根据用户ID获取相应的菜单权限等方法。具体的实现可以根据业务需求来进行编写,可以从数据库或其他数据获取相应的菜单权限数据。 在Vue,可以通过调用Java接口的方法来获取菜单权限数据。可以在Vue的页面组件调用这些接口方法,然后将获取到的菜单权限数据进行展示。可以根据用户的菜单权限动态地渲染菜单和路由,并且可以根据用户的权限进行相应的权限校验和控制。 通过Java接口提供数据可以实现菜单权限和路由权限的管理和控制。可以根据具体的需求来灵活地定义和设计接口,满足系统的功能和安全性要求。同时,使用Vue可以实现前端的动态展示和控制,使得系统更加灵活和易用。 ### 回答2: vue菜单权限和路由权限一般是由后端的java接口提供数据。在前端的vue项目,我们可以通过调用java接口获取菜单数据权限数据,并根据返回的数据来动态生成菜单和控制路由权限。 首先,我们需要在vue项目配置路由,包括定义路由路径和组件的映射关系。然后,在java接口,我们可以编写相应的接口来返回菜单数据权限数据。一般来说,菜单数据权限数据可能都需要根据用户的角色、权限等信息来进行动态的获取和过滤。 在vue项目,我们可以使用axios等库来发送请求获取java接口的数据。一般来说,我们可以在vue的created或mounted等生命周期钩子函数发送请求,并在请求成功后,将返回的数据保存到vue的data或vuex的状态管理。 接着,我们可以在vue项目的菜单组件根据接口返回的菜单数据来动态生成菜单结构。根据用户的权限,可能需要对菜单数据进行删减或隐藏某些菜单项。 对于路由权限,我们可以在路由配置根据接口返回的权限数据来动态设置路由的访问权限。这样,当用户访问某个需要权限才能访问的路由时,我们可以根据用户的权限判断是否允许访问。 总体而言,通过java接口提供数据可以实现vue项目的菜单权限和路由权限的动态管理。通过动态生成菜单和控制路由的访问权限,我们可以根据用户的角色和权限来灵活控制菜单展示和页面访问。这种基于后端java接口提供数据的方式,可以提高项目的安全性和可维护性。 ### 回答3: Vue菜单权限和路由权限是一种常用的前端权限管理方式,通常与Java接口配合使用。 菜单权限指的是根据用户角色或权限级别,动态展示和控制菜单项的可见性和可操作性。通过Java接口传递用户角色或权限信息到前端,前端根据这些信息动态生成菜单项,并根据用户的权限显示或隐藏相应的菜单项。例如,管理员拥有全部菜单权限,在菜单会展示所有功能选项,而普通用户可能只能看到部分功能。 路由权限则是根据不同用户角色或权限级别,决定用户是否能够访问特定的路由页面。通过Java接口传递用户角色信息或权限信息到前端,前端根据这些信息进行路由拦截或权限校验,只有具备相应权限的用户才能够访问相应的页面。例如,某些页面只有管理员或高级用户才能够访问。 Java接口在这里起到了向前端提供权限数据的作用。通常,前端会通过发起HTTP请求访问Java接口,将用户的角色或权限信息传递到接口端。接口端进行相应的权限验证或菜单数据处理,然后返回给前端对应的数据。前端接收到数据后,根据这些数据进行菜单项和路由的生成、权限验证等操作。 总之,通过Vue菜单权限和路由权限的方式,配合Java接口提供数据,可以实现灵活的权限管理功能,根据用户的角色或权限级别来动态控制菜单和路由的展示和访问。这种权限管理方式可以有效提高应用的安全性和可用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值