ASP.NET MVC+EF框架+EasyUI实现权限管理系列(24)-权限组的设计和实现(附源码)

本文将详细讲解基于ASP.NET MVC、EF框架、EasyUI的权限管理系统实现流程,包括框架搭建、数据库访问、面向接口编程、业务逻辑封装、前台JQueryeasyUI实现、EF上下文实例管理、DBSession封装、TT摸版学习、VSS源代码管理、验证码实现等。此外,还将深入探讨权限组设计、主框架搭建、权限数据库模型、用户登录错误、注册验证、用户信息处理、菜单导航动态化及权限关联等内容。
ASP.NET MVC+EF框架+EasyUI实现权限管系列

  (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装   

      (5):前台Jquery easyUI实现   (6):EF上下文实例管理    (7):DBSession的封装   (8):DBSession线程内唯一   

      (9):TT摸版的学习    (10):VSS源代码管理    (11):验证码实现和底层修改  (12):实现用户异步登录和T4模板   

      (13):权限设计  (14):主框架搭建   (15):权限数据库模型和用户登录详细错误    (16):用户注册的各种验证 

      (17):注册用户功能的细节处理   (18):过滤器的使用和批量删除数据(伪删除和直接删除) 

     (19):用户信息的修改和浏览   (20):多条件模糊查询和回收站还原的实现   (21):用户角色权限基本的实现说明

    (22):为用户设置角色  (23):设置角色遗留问题和EasyUI Tabs使用 

  前言:已经有很长的一段时间没有写博客了,主要是这段时间生活有动荡了一下,所以一直没有顾得过来写,所以对那些关注我这个系列的博友们说声对不起,本来打算中途放弃的,因为后面的东西实在不好写,重点是说了很多,但是博友们看不明白,在好几个类库以及控制器和实体之间转换导致了这样的结果,但是自己一想干一件事情我们就一定要干完,所以我会坚持写完这个系列的,这几天抽空出来,所以继续我们权限系列的步伐,希望大家能够支持我,谢谢,如果大家想去下载次项目练习版本的话,可以去百度搜索:《ASP.NET MVC+EF框架+EasyUI实现权限管理源码》下载学习,此版本只适用于学习,和现在写的项目的版本基本不一样,希望大家能够对比学习。

  那么今天我们就开始讲述权限组的实现和设计吧。

1. 为什么要有权限组

  (1)通过前面的博客我们已经基本上完成了项目的用户,角色和权限的功能,那么我们现在才出现了权限组,那么我们的权限组是用来干什么的呢?这里我大致说一下,首先看如图所示的菜单导航:

    

  (2)如上图所示,我们的菜单导航是静态写死在HTML中的,那么这样的话很不利于我们项目的维护,当我们需要添加一个菜单导航的话,我们只有去HTML中更改了,鉴于上面的需求,所以我们需要将其变化成动态并且存放在数据库中,那么这时候我们就创建了权限组的数据表来存放这些数据。

2.权限组和权限的关系描述

  (1)首先菜单导航应该跟用户关联到一块,这是为什么呢?因为有的用户可能有后台权限管理,网站基本管理栏目,而有的用户可能没有网站基本管理栏目,而超级管理员应该含有所有的栏目,那么这时候我们就想我们的菜单导航的栏目(指的是后台权限管理,网站基本管理,网站开发支持三个栏目分组)怎么跟用户和权限去关联呢?因为菜单导航也是跟权限有关系的,那么这时候我们就想我们的菜单组(权限组)怎么去设计。

  (2)根据上面的描述我们知道了我们菜单导航中的分组以及子类都要去存放到数据库中,那么我们怎么设计我们的菜单导航跟权限联系到一块呢?

  (3)我们知道我们菜单导航(菜单组)里面的数据都对应的有权限,所以我们就要想那么我们的菜单组和菜单项怎么在模型中设计出来,当我们用户登录到系统的时候便可以直接拿到菜单组合菜单项的数据展示在菜单导航里面。

3.菜单项和菜单组的实现

  (1)可能这里我写菜单项和菜单组的话部分人会晕,我这里解释一下,菜单项就是菜单组下面的子节点,比如:菜单组是后台权限管理,而菜单项是后台权限管理下面的子节点。

  (2)这样的话我们下来看我们的这个权限的模型如图所示:

     

      

  因为我们在BasePermission表中是对菜单的总体操作,但是我们的菜单又分为菜单组和菜单项,所以这样的话我们还需要给这个模型中添加一个标识,这个标识的作用就是区分到底是菜单组还是菜单项,用(1,0)标识即可

  (3)这样我们就设计完了菜单项,那么下面我们主要还是讨论如何建立菜单项

4.菜单项的实现

  (1)那么根据我们上述的描述的话,我们在这里需要建立一个菜单项管理的数据库,所以我们主要分析一下我们该如何建立这个菜单项的数据库和这个数据库和其它的之间的关系。首先我直接上Edmx模型说明这个数据库和关系,如图所示:

    

  (2)这里我首先要陈述两点,那就是菜单组和菜单项是多对多的关系,从我的模型中可以看出了又一个中间表。

  (3)菜单组和用户肯定也是有关系的,那么我们也可以想到用户和菜单组肯定也是多对多的关系。

  (4)那么菜单组和角色之间肯定也是有关系,我们可以想到也是多对多的关系,那么到这里我们的关系就建立完毕了,整个菜单组关联了所有的项目

  (5)如果大家看这个的话我觉得应该看得很模糊,那么我将数据库的创建的文档放在了CSDN上面,大家可以去下载:下载地址是: 

     http://download.csdn.net/detail/hanyinglong/5862727

5.菜单组最终完成

  (1)到这里我们的数据库之类的就都已经建立完毕了,至于怎么建立的,我觉得用过edmx模型的基本都知道,那么这个部分我们就算是完成了,下面展示我们这部分的内容,其实和前面的基本一样,如图所示:

  (2)那么下篇博客我说一下如何对这些前面所加入的验证的东西在项目登录的时候验证用户是不是没有此权限呢。

  (3)本项目之前的源码下载地址如下:

    http://download.csdn.net/detail/hanyinglong/5868811

  (4)至于如何在他们的中间建立关系,大家去看我的上上篇博客是如何给他们建立关系的,我们后续的几个关系我也就不说了,下篇博客可能要到下周才能写,我将些我们如何判断用户登录进来显示的内容。

管理系统,作为一种高效的企业运营管理工具,旨在通过集成化、系统化的手段,对组织内部的各类资源进行规划、协调、控制优化,以实现企业战略目标,提升运营效率,增强核心竞争力。以下是对管理系统的详细介绍: 一、定义与构成 管理系统是指由硬件设备、软件应用、数据资源、人员以及相关管理制度共同构建的,用于处理、监控、分析决策各类业务活动的综合信息系统。它通常包括以下几个核心组成部分: 数据采集模块:负责从各类业务环节中实时、准确地收集信息,形成企业的基础数据资源。 数据分析模块:运用统计学、人工智能等技术对数据进行深度挖掘智能分析,提供决策支持。 业务流程管理模块:设计、执行、监控优化业务流程,确保各项任务按照预定规则高效运转。 决策支持模块:基于数据分析结果,为管理者提供直观的可视化报告,辅助其进行科学决策。 用户界面与交互模块:提供友好的人机交互界面,方便用户操作使用。 二、主要类型与功能 管理系统根据所针对的管理对象领域,可分为多种类型,如: 人力资源管理系统(HRM):涵盖招聘、培训、绩效考核、薪酬福利等人力资源全流程管理,提升人才效能。 客户关系管理系统(CRM):集中管理客户信息,优化销售、营销服务流程,提升客户满意度忠诚度。 供应链管理系统(SCM):整合供应商、制造商、分销商、零售商等供应链各环节,实现物流、资金流、信息流的协同运作。 企业资源计划系统(ERP):对企业内部财务、生产、采购、库存、销售等各项资源进行全面集成管理,提高整体运营效率。 项目管理系统(PM):对项目全生命周期进行规划、跟踪、控制,确保项目按时、按质、按预算完成。 三、价值与优势 提高效率:自动化工作流程、标准化业务操作,显著减少人工干预,提升工作效率。 优化决策:实时数据分析与预测,提供精准的决策依据,助力管理层做出明智选择。 资源整合:打破部门壁垒,实现信息共享,优化资源配置,降低运营成本。 合规风控:内置法规遵循机制,强化内部控制,降低经营风险。 持续改进:通过对系统数据的持续监控与分析,驱动业务流程持续优化,促进企业创新与发展。 总的来说,管理系统作为现代企业管理的重要工具,以其强大的数据处理能力、智能化的决策支持高效的业务流程管理,有力推动了企业的数字化转型,助力企业在日益激烈的市场竞争中保持竞争优势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值