ASP.NET权限管理(二)

本文介绍了一种基于用户角色权限管理的动态菜单显示方法,通过在登录后根据用户的权限动态加载菜单,实现不同用户看到不同的功能模块。具体步骤包括设置动态显示、查询并显示一二级菜单及根据当前用户身份获取并显示相应的模块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在上一个(一)中,说了权限管理的设置,但是不知道你发现没有,就是你设置好管理的权限,但是登陆后你的模块仍然是全部都显示,这个时候你需要一个动态的显示来进行登录。
具体步骤如下:
(1)在登录后的显示界面写下动态显示:

 <div id="naMenu" class="easyui-accordion" data- options="fit:true">
                @Html.Action("Menu")
 </div>    

(2)一级菜单

因为调用Menu动态,所以在Home的视图系下书写了一个类“Menu”,内容如下:

这里写图片描述

循环查询模块名称和标志,按照ID进行排序,下边是调用的后台代码:

public ActionResult GetChild(int pid)
 {
   var list = Bll.Search(x => x.M_ParentID == pid);//查询父类信息
   return View(list);
}

(3)二级菜单

来查询父类菜单(一级菜单),这个时候显示出来还是会乱。然后有了下边的代码,循环显示二级菜单,新建了一个类:
这里写图片描述

他来查询判断一级菜单,显示出来二级菜单。

(4)在显示的Home控制器中,获取当前登录用户,并根据当前用户显示。

 public ActionResult Menu()
 {
  IEnumerable<Module> moduleList = bll.GetMenu((int)this.CurrentUer.R_ID);//一个int型的判断,获取当前登录用户的身份
  return View(moduleList);
}

而在他引用的BaseController中,有:

protected User CurrentUer
{
  get { return Session["LoginUser"] == null ? null : (User)Session["LoginUser"]; }
}

来获取登录页面传递来的角色。




应该是可以了,是全部的代码,如果有什么问题欢迎留言,一会我看一下,如果可以,我会把代码放到我的资源中。代码有一些乱,整理一下就可以了。我的运行是没有问题的

转载于:https://www.cnblogs.com/Grant-Fu/p/7412964.html

1、菜单导航管理 2、操作按钮 3、角色管理 4、部门管理 5、用户管理(用户权限) 6、用户组管理(设置成员,用户组权限) 7、系统配置(动态配置系统参数) 8、附加属性(自定义属性) 9、系统日志(异常记录) 10、数据库备份/还原 11、资源管理,(动态数据库) 12、个人信息(基本信息,附加信息,用户角色,拥有权限) 13、首页快捷 14、数据回收站(业务功能删除过数据,全部保留在回收站) 15、系统个性化设置(切换菜单导航) 系统UI,给人感觉非常好,体积小巧,速度快 该源码是适用用于应用系统后台模块的管理(可扩展至支持集中化的权限管理平台), 0.支持N级菜单导航,菜单显示方式支持目前支持2种模式分别:菜单(无限级),横向(2级) 1.动态切换皮肤,目前有两狂UI 蓝色,咖啡色 2.表单验证,文本框高亮起来 3.可以动态分配权限按钮,分配角色权限,目录结构,栏目的链接都可以修改。权限管理非常灵活, 4.可以隐藏左侧导航栏,打开左侧导航栏,默认是打开,table表格都自应大小的 5.动态创建数据表,删除用户表,点击数据 表 可以查询字段信息 6.可以直接执行sql脚本 7.兼容 IE6,7,8,9 /Firefox /Google Chrome 这些浏览器都测试过 8.批量删除,自定义复选框样式,可以全选/反选 9.角色分级,集团和分公司的关系 10.权限 横向就是业务部分,具体负责哪块业务,纵向是级别 11.动态报表设置,并且可以导出Excel 12.登陆日记,操作日记,异常日记 13.海量批量删除数据库,调用公共存储过程,参数,表明,主键 特点: UI:传统html css,美观 漂亮 大方 实用 js框架:jquery 系统大部分使用AJAX操作。大大提高了用户体验 功能描述: 1.支持N级菜单导航,菜单显示方式支持目前支持2种模式分别: 菜单(无限级),横向(2级) 2.表单验证,文本框高亮起来 3.可以动态分配权限按钮,分配角色权限,目录结构,栏目的链接都可以修改。 4.可以隐藏左侧导航栏,打开左侧导航栏,默认是打开,table表格都自应大小的 5.动态创建数据表,删除用户表,点击数据 表 可以查询字段信息 6.可以直接执行sql脚本
让管理软件开发人员早点儿回家休息,做个跟老外有的一PK的软件组件,铜墙铁壁的权限组件。 年轻时、精力旺盛,有用不完的劲儿,但是工作经验不多,对各种行业实际应用没有深入的了解,大多停留在表面问题上,做不出过硬的有质量的软件组件来,刚精通C#程序时,发现又需要精通C/S、B/S才可以,这时又发现自己的数据库技术不过关,等刚掌握了SQLServer,又发现自己不懂Oralce,也不懂MySql,自己写出来的程序又不兼容这些数据库,等数据库也都精通了一些,发现自己的写文档能力不行,做个像样的东西非常不容易。 这时又发现自己的设计能力不行,等把设计能力也提高了,发现写文档的表达能力还是不行,等自己的表达能力也变得很强了,对各种行业应用也开始有了深入的了解,技术又变了很多,以前积累的技术又淘汰了。 当这些能力都接近已具备时,发现自己从早上忙到晚上,根本没有精力去写一个理想中的软件来,工作上的、家庭上的杂事也变得多如毛,当能力提高到了一定的境界后,普通人做出来的东西也都看不上了,也都不能放心了,因为知道得太多了,就能找出太多的问题了,但是自己又往往没那么多精力、空去做这个心目中的东东。 当真的全身心去投入了,去精心制作了这个东西后又发现这个东西,市场定位错了,只有很少数的人才肯花钱购买这个东东,所以成功很难,不仅需要有能力、而且需要更准确的市场定位能力,你做出来的软件?谁为此买单? 把设计文档写好、把程序写好、把操作手册写好,又要有一定的深度广度,的确也不是很容易;虽然我没有惊人的技术能力,但是我用了接近前后10年,不断完善改进这么一个很简单的功能,把这个简单的功能,做个彻彻底底,能达到真正的产品化的重复利用的要求,花费了2个月的业余时间,精心把使用手册编写完毕了,虽然软件没有开源,但是大部分的功能都写出来了,有做权限方面的开发人员,可以有一定的参考作用。 权限管理涉及的东西太多了,他需要涉及到数据库、要涉及到用户、组织机构、角色、日志、序列生成器、开发框架、甚至代码生成器,页面操作、底层存储结构设计等等方方面面,说是开发通用权限组件还不如是说:“轻量级的快速管理类软件开发平台”也不过分的。 既然爱好这个,又投入了这么多年的心血,也就不差再投入几年,再深入研究、再不断推广了,把一个简单的东西做个彻彻底底,做个真正对开发人员有帮助,能解放开发人员的部分工作,能把劳动成果重复利用10次、100次、1000次、10000次,那就足够有把这个功能模块做个彻底质量过关,让大家彻底能认可的意义了,一个人只能做好那么几件事情,若是人人都有那么几件事情彻底做好了,舍得全身心去研究完善,那我们软件开发人员也没必要那么累了,都可以早点儿回家休息了,因为我们有很多可重复利用的组建、可提高我们工作效率的懒人工具。 小时候亲眼见过也亲身体验过人耕牛拉式的辛勤种地;社会总是需要有人冒险,去发明、研究、制造、改进拖拉机,虽然为此付出的代价会很高很高,但是用拖拉机种地效率就高很多产值也会高很多,大家也可以从繁重的体力劳动解放出来,虽然购买拖拉机要花钱、平时还需要烧油。 但是大家都不舍得购买拖拉机、平时也不舍得烧油,那只能继续“人耕牛拉”了,牛总比拖拉机便宜很多,平时吃草就可以了有点也很多,还环保底炭。通用权限管理组件、轻量级的快速管理类软件开发平台能成为大家学习开发软件的拖拉机、开发软件的拖拉机。 以下部分是花费了接近2个月时间,精心编写的部分使用说明,虽然有些广告夹杂,但是认真对待了每篇文章的说明、希望有兴趣的朋友,可以补充完善、让有需要的人能直接重复利用、逐渐完善成大家都能认可的精品软件组件,大家都可以参考对比的标准权限功能。 人有追求有目标也是个闹心的事情、达不到目的,睡不好,吃不好,总想达到自己的目的,白天想、晚上想,几天、几周、几个月、几年都过的很快,人有追求了,也就不迷茫了,也就不腐败了,也不会堕落了,也挺有意思的。就把一个简单的东西做个精品出来,能彻底重复利用、没多大必要再重新开发,也别浪费人力物力了,该休息就休息、该早点儿回家就回家,该干啥就干啥吧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值