Vue多页面 按钮级别权限控制 directive指令控制

利用driective 构建自己的指令,实现按钮级别权限

项目结构如下:

修改router.js

    {
        path: ‘schools‘,
        name: ‘列表‘,
        component: () => import(‘./eduAdministration/SchoolList‘),
        meta: {
          permissions: [‘schools‘],
          btnpermissions:[‘admin‘,‘test‘],
          title: ‘列表‘,
          icon: ‘‘,
          scrollToTop: true
        }
      },

新建文件 btnPermission.js文件

内容如下

import Vue from ‘vue‘
import store from ‘../index‘
/**权限指令**/
const has = Vue.directive(‘has‘, {
  bind: function (el, binding, vnode) {
    // 获取按钮权限
    let Permissions = vnode.context.$route.meta.btnpermissions;
    console.log(‘permission‘,Permissions)
    if (!Vue.prototype.$_has(Permissions)) {
      let className=el.getAttribute("class")
      className=className.concat(" hidden")
      el.setAttribute("class",className)
    }
  }
});
// 权限检查方法
Vue.prototype.$_has = function (value) {
  let isExist = false;
   debugger
  let PermissionsStr =store.getters.roles;
  if (PermissionsStr == undefined || PermissionsStr == null) {
    return false;
  }

  PermissionsStr.forEach((per)=>{
    if (value.indexOf(per) > -1) {
      isExist = true;
    }
  })
  return isExist;
};
export {has}

将文件引入index.js

import Vue from ‘vue‘
import Vuex from ‘vuex‘
import app from ‘./modules/app‘
import user from ‘./modules/user‘
import getters from ‘./getters‘
import permission from ‘./modules/permission‘
import has from ‘./modules/btnPermission‘
Vue.use(Vuex)
const store = new Vuex.Store({
  modules: {
    app,
    user,
    permission
  },
  getters
})

export default store

页面添加权限

     el-button(size=‘mini‘ @click="handleEdit(scope.row)" v-has) 编辑

最后一步

在 css中添加hidden样式

<style scoped>
  .hidden {
    display:none;
  }
</style>

大功告成

原文地址:https://www.cnblogs.com/tsxylhs/p/10908345.html

时间: 2024-12-18 19:53:20

Vue多页面 按钮级别权限控制 directive指令控制的相关文章

Java web自定义标签按钮级别权限控制完美诠释(jplogic 快速开发平台)

接下来跟大家聊聊JavaWeb中权限控制,往大的方向说可以聊聊整合应用系统中的权限控制.在聊权限控制之前先跟大家聊聊RBAC.那么什么是RBAC呢?RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联的,用户通过成为适当角色的成员而得到这些角色的权限.这就极大地简化了权限的管理.在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色.角色可依新的需求和系统的

(转)通过SpringMVC+Annotation实现方法、按钮级别的细粒度权限控制

原文地址:http://blog.csdn.net/ycyk_168/article/details/18456631 随着企业信息化的不断深入,各种各样的信息系统成为提高企业运营及管理效率的必备工具,越来越多的企业核心机密如销售机会.客户资料.设计方案等通过信息系统存储.备案.流转,这些核心资料一旦外泄,势必对企业造成极大损失.科技时代,信息是企业生存的命脉,信息的安全也必然成为企业极度重视的问题.如今,随着各种信息安全措施的实施,信息泄密已经从外部泄漏向内部人员泄漏转移.外部的黑客.病毒要想

SpringMVC+Annotation实现方法、按钮级别的细粒度权限控制

常用的权限系统设计模式是以角色为核心的,即角色是具有相同权限的一类人员的集合: 1.     一个角色可以有包含多个操作人员,一个操作人员也可以属于多个角色 2.     一个角色可以具有多个功能的操作权限,一个功能也可以被多个角色所拥有. 在登录时通过查询登录用户所属角色,即可得到个用户的所有功能集合,如下图: 多数业务系统的页 面功能菜单设计是以三级为标准的,即一级功能菜单.二级功能菜单.三级功能菜单,通常情况下一二级功能菜单只是用于功能分类,是不具有功能访问地址的,三 级菜单才是功能的真正

RABC权限控制(页面操作角色,权限和进行分配)

上一节主要说的是如何通过url进行权限控制,这一节就说一下如何开发一个权限控制的界面,这样我们就能很方便的创建角色,并分配给用户不同角色和不同权限. 1.编写角色管理页面 这个编写较为简单,主要是通过modelform快速实现的,下面代码比较简单,我就不多说了 效果图如下: 代码如下: def role_list(request): """角色列表""" roles_list = Role.objects.all() # 分页 current_p

AppBoxPro - 细粒度通用权限管理框架(可控制表格行内按钮)源码提供下载

特别声明: 提供的源代码已经包含了 AppBoxPro 的全部源代码,用 VS2012 打开项目后,直接 Ctrl+F5 可以运行起来(默认使用VS自带的LocalDB数据库). FineUIPro是商业程序,仅包含v1.7.0公测版的DLL:当然你也可以自行把 FineUIPro 换成 FineUI(开源版),开源版下载地址. AppBoxPro 是基于 FineUIPro 和 Entity Framework 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块

SQL Server 2016 行级别权限控制

原文:SQL Server 2016 行级别权限控制 背景 假如我们有关键数据存储在一个表里面,比如人员表中包含员工.部门和薪水信息.只允许用户访问各自部门的信息,但是不能访问其他部门.一般我们都是在程序端实现这个功能,而在sqlserver2016以后也可以直接在数据库端实现这个功能. 解决 安全已经是一个数据方面的核心问题,每一代的MS数据库都有关于安全方面的新功能,那么在Sql Server 2016,也有很多这方面的升级,比如'Row Level Security', 'Always E

前后端分离实践:基于vue实现网站前台的权限管理

Javascript做为当下的热门语言,用途很广泛,从前端到后端处处可见其存在,该技术如今在我们项目内部也大量使用来开发诸如CMS系统以及其他其他一些数据分析系统的前端页面,为此个人非常感兴趣并将其作为帽子卡的扩展内容来进行课余学习. Javascript框架鳞次栉比,但基本原理大致相同,因此选用国内人开发的vue.js进行一个初步的尝试.学习vue.js也一周多的时间了,说起vue的主要用法,无外乎Declarative Rendering.Component System.Client-si

vue基于d2-admin的RBAC权限管理解决方案

前两篇关于vue权限路由文章的填坑,说了一堆理论,是时候操作一波了. vue权限路由实现方式总结 vue权限路由实现方式总结二 选择d2-admin是因为element-ui的相关开源项目里,d2-admin的结构和代码是让我感到最舒服的,而且基于d2-admin实现RBAC权限管理也很方便,对d2-admin没有大的侵入性的改动. 预览地址 Github 相关概念 不了解RBAC,可以看这里企业管理系统前后端分离架构设计 系列一 权限模型篇 实现了RBAC模型权限控制 菜单与路由独立管理,完全

SharePoint 2013 单一页面赋设计权限

本文介绍SharePoint的使用中,断开单一页面权限,给用户编辑权限以及操作中遇到的问题,希望给相关需要的人一个参考. 1.首先进入页面库,找到我们的页面,进入共享,如下图: 2.在弹出的窗口中选择高级,如下图: 3.在进入权限编辑页面,首先断开当前页面的权限继承,如下图: 4.然后勾选所有继承的权限,删除,如下图: 5.而后点击Grant Permission,也就是授权,如下图: 6.按照我的理解,该用户对站点有访问权限,对单独页面具有编辑权限,就可以个性化该页面,但是添加一些WebPar