权限配置思路

1、库的设计:建立五张表,权限表、用户表、角色表、角色权限表、用户角色表

2、页面的设计:在页面菜单上的权限管理中包括用户管理(用户的增、删、改、查)与角色管理(角色的增、删、改、查).

在系统开始使用时,肯定要用一个默认的系统用户在页面进行配置(也就是在库中存在一个用户,用户具有“超级管理员”角色,这个角色包含这个系统中的所有权限)。

系统在初始化时权限表中包含你的所有的要控制用户显示的项的一个对应值。

首先,先创建你想要的角色,在页面上可以用JS脚本生成一棵树,这棵树的每一个节点就是通过树节点的复选框可以为当前新增的角色选择你想设定的权限,这样你新建一个角色保存时,就会将这个角色的信息存入角色表中,同时将角色与所选的权限的关系放入角色权限表中。

其次,在用户管理项中,新建一个用户,为这个用户选择一个之前建立的角色,这样就可以将其保存到用户表中,同时将用户与角色的关系放到用户角色表中。

3、逻辑设计:当一个用户登陆时,校验用户的身份的时候,若是该用户存在,可以将这个用户所具有的权限查出来(通过用户与角色、角色与权限的对应关系来处理),放入session中(不要怕往session中入东西,不会太多),这样当用户登陆以后,点击每一个可以判断session中有没有这个点击所对应的权限,若是没有就提示“没有权限”,也可以通过直接对用户所具有的权限,在页面的层次上就将功能屏敝,也就是说用户没有的权限,在页面上根本就不显示。


转自:http://bbs.csdn.net/topics/310266811中7楼


目前比较流行的权限配置是基于spring security的。

在Vue项目中实现动态路由权限配置思路如下: 1. 首先,与后台进行沟通,获取路由表的数据。可以与后台约定一个接口,后台将需要展示的路由信息返回给前端。 2. 在前端的路由配置文件中,引入Vuex,并将路由表数据存储在Vuex的state中。这样可以在全局范围内访问到路由表数据。 3. 在Vue的根实例中,通过router.beforeEach()方法进行路由守卫的配置。在每次路由切换前,判断用户是否有权限访问该路由。可以通过对比用户的权限信息和路由表中定义的权限要求来判断。 4. 如果用户有权限访问该路由,则继续进行路由跳转。如果没有权限,则进行相应的处理,比如跳转到一个没有权限页面或者给出提示信息。 下面是一个示例的代码: 1. 在store/index.js文件中,定义一个router模块,用来存储路由表数据。 ```javascript import Vue from 'vue' import Vuex from 'vuex' import router from './router/index.js' Vue.use(Vuex) export default new Vuex.Store({ state: { // 存储路由表数据 routerTable: [] }, mutations: { // 更新路由表数据 updateRouterTable(state, routerTable) { state.routerTable = routerTable } }, actions: {}, modules: { router } }) ``` 2. 在登录成功后,将路由表数据保存到Vuex的state中。 3. 在main.js文件中,配置router.beforeEach()方法。 ```javascript router.beforeEach((to, from, next) => { // 获取当前用户的权限信息 const userPermissions = store.state.user.permissions // 判断用户是否有权限访问该路由 const hasPermission = userPermissions.includes(to.meta.permission) if (hasPermission) { // 如果有权限,继续路由跳转 next() } else { // 没有权限,进行相应的处理 next('/403') // 跳转到没有权限页面 } }) ``` 需要注意的是,动态路由权限配置的具体实现方式会因项目而异。以上是一个基本的思路和示例,你可以根据自己的项目需求进行相应的调整和扩展。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值