ASP.NET权限管理(一)

本文介绍了在ASP.NET后台管理系统中实现权限管理的核心步骤,包括模块设计、数据库表结构、登录验证、角色权限分配等关键环节。通过使用Ajax+easyUI搭建界面,并结合EF进行数据操作,详细阐述了如何构建一个完整的权限管理体系。
摘要由CSDN通过智能技术生成

在asp.net后台管理系统开发中,有一个永远绕不过去的核心功能,那就是权限管理。他使你的整个管理系统活了过来,可以适应公司不同职位人员的使用。
下边是我搭得简易界面效果图:
这里写图片描述

1、基本需求

看界面你就知道,你首先最少应该有三个模块显示,包括你的模块管理、角色管理、管理员的人员管理。

在数据库中你最少需要四个表,其他的看个人需要了。这四个表分别是
Module(模块表)、User(管理员表)、Role(角色表)、Role_Module(角色_模块授权记录表)。

2、界面生成

因为我使用的是EF,所以实体类生成就直接跳过了。

页面搭建和基本的页面显示使用的是Ajax+easyUI,这个也随自己的写法写,毕竟每个人的设计都不一样。

3、登录界面

做权限你肯定需要一个登录页面,登录页面找模板还是自己设计需要你自己找了,我主要是说一下后台的代码,进行功能的实现。

首先在登录的数据访问层(LoginDal)中添加对数据的操作

 public IEnumerable<Module> GetMenu(int rid)
 {
return Ef.Role_Module.Where(x => x.Role.ID == rid 

&&x.Module.M_type=="1" && 

x.Module.M_ParentID==0).ToList().Select(x => new Module { 

M_name = x.Module.M_name,M_path = x.Module.M_path, 

M_IconCls = x.Module.M_IconCls,ID=x.Module.ID }).ToList();
        }

注:(1)IEnumerable<>是一个数据的结构,指可用foreach遍历的“集合”。

http://bbs.csdn.net/topics/391905003?page=1
他会对你理解IEnumerable<>有一些帮助

(2)方法是通过不同角色、是否是为“1”一级菜单,是否是为0的菜单,不是按钮。来查出一级菜单,然后查询一个NEW Module数据。


然后是在业务逻辑层(LoginBll)中进行业务操作:

 public IEnumerable<Module> GetMenu(int rid)
 {
     LoginDal realDal = (LoginDal)Dal;
     return realDal.GetMenu(rid);
 }

继承Dal中的方法。

 public User GetUserByNamePaw(LoginModel model)
{
Expression<Func<User, bool>> where = x => x.U_name == model.name && x.U_pwd == model.pwd;
return Dal.Search(where).FirstOrDefault();
}

LoginModel是我自定义的一个实体类,其中存放了定义的密码,账号和可能用到的验证码。

Expression<Func<User, bool>根据条件动态生成LINQ查询条件,将Func类型的变量作为参数传给Where方法。
在EF中,如果单一将Func类型的变量作为参数传给Where方法进行LINQ查询,会造成全表查询的错误,将整个数据库表中的数据加载到内存

 [Required]
public string name { get; set;
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脚本
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值