2025年设置权限的基本操作

设置权限的基本操作权限相关方法 开发工具与关键技术 作者 熊琪 撰写时间 2019 04 22 首先了解下权限的基本操作 分不同的用户类型操作不同的模块功能 比如这里有教师 学生和管理员 管理员就是操纵权限的幕后操纵者

大家好,我是讯享网,很高兴认识大家。

权限相关方法

开发工具与关键技术: 作者:熊琪 撰写时间:2019.04.22 

讯享网

首先了解下权限的基本操作,分不同的用户类型操作不同的模块功能·,比如这里有教师,学生和管理员,管理员就是操纵权限的幕后操纵者,比如对于学生来说试题管理和发不公告这两个模块是看不了的所以要在权限管理中设置,设置完后要达到的效果就是用户登陆后该显示的模块显示,该隐藏的隐藏。
我们这里举例就用学生这个用户,当用户为学生时在发布公告这个页面中学生只能操作查询,插图:
在这里插入图片描述
讯享网
第一步我们要找到相应的发布公告页面,对于学生来说,查询,新增,修改,删除中只有查询可用,由于发布公告页面中修改和删除时在一个列表中,所以我们要找出他们来,因为之前我们在做发布公告页面的时候,修改和删除是我们自己的自定义操作列里的,所以就找到并给其相应一个类:

讯享网btns += '<button type="button" class="layui-btn layui-btn-xs update" onclick=updateNotice(' + noticeId + ')>修改</button>'; btns += '<button type="button" class="layui-btn layui-btn-xs layui-btn-danger delete" onclick=deleteNotice(' + noticeId + ')>删除</button>'; 

删除添加一个update类,删除添加一个delete类,并且也要保证类要存在。然后就可以直接通过类来获取到按钮。
接着就是写我们的代码,因为一进入浏览器就要做出响应所以将代码写入function中 首先声明获取的发布公告ID。
然后执行发布公告的查询方法,查询的方法写的就是查询操作类型,模块ID和用户类型ID,首先是获取登陆时保存的sessions值,然后通过权限表与模块明细表和操作表的linq连表查询查询出模块ID和用户类型ID,然后将需要的操作显示,并通过列表显示,最后将声明的用来接受查询数据的参数返回,代码图:
在这里插入图片描述
方法写完后在控制操作按钮中执行,然后在fuction将新增,修改和删除按钮隐藏,新增是通过ID来选中然后隐藏而修改和删除就是通过类来选择到,然后隐藏对应的按钮数组。
然后通过switch来匹配有的就显示没有的就继续隐藏代码写法:

$.each(data, function (i) { switch (data[i].Explain) { case "新增":$("#Insert").show(); break; case "修改":$(".update").show(); break; case "删除":$(".delete").show(); break; } }); 

相应的这种方法是先隐藏在显示,把所有的页面对应权限的按钮,开始是都隐藏起来然后将权限按钮中有的都显示出来,所以要实现这样的操作就要将菜单中的所有的视图全部获取到,这样代码就比较多,如果菜单中的模块越多就需要获取的也就越多。而还有另外一种方法:首先也是在控制器写个查询方法用用户ID是否为空做条件连表查询ID 和Name,这里牵扯到数据库中表的连接方法,当两表有相同信息时,需要查询相交信息时在数据库的查询语句中可以用INNER JOIN来连接,当连接表时查询单个左边的表就用LEFT JSOIN来连接,同理查询两表中右边表用RIGHTJOIN 如果需要两表同时匹配就有FULLOUTERJOIN来连接。
写完查询然后在加载事件中通过session对象的方式来获取到页面的所有模块,然后查询出该用户可以操控的模块,然后通过查询的模块对刚刚获取的所有模块进行匹配,有的则不操作 没有的在页面上隐藏,其中代码如图:
在这里插入图片描述

小讯
上一篇 2025-03-27 23:23
下一篇 2025-01-04 18:44

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/24812.html