分享一套MVC4+EF5+EasyUI技术实现通用权限管理系统

 

课程讲师:闲筝

课程分类:.NET框架

适合人群:高级

课时数量:150课时

更新程度:完毕

服务类型:B类(VIP服务类课程)

用到技术:MVC、EF、T4、Log4net、EasyUI、rdlc、spring.net等

涉及项目:通用权限管理系统、十二生肖案例、EasyUI150项示例

 



 

课程咨询QQ2050339477

 

链接:http://ibeifeng.taobao.com/index.htm?spm=2013.1.w5002-9616636101.2.aNEcLW

 

 

 

项目背景:

        自从微软在VS2012平台,完美推出MVC4,EF5等具有标志性的技术之后,从事.NETWEB开发的程序员算是迎来了一个暂新的春天,成熟的MVC4等相关技术,让.NET的WEB开发更加偏向于WEB的本质,性能更容易优化,同时也宣告我们再不是只会拖控件的.NET程序员了。再结合easyUI、ligerUI、fineUI和 bootStrap等一系列成熟的前端框架,用.NETMVC做出来的BS系统,无论是从开发效率、成本还是界面效果、体验都可以媲美JAVA和PHP平台,还有强大的razor视图引擎,可以让我们随意定制我们想要的视觉效果。随着MVC4,EF5等技术逐步得到行内研发人员的认可及普及程度的逐步提高,微软顺势结合VS2013平台推出了MVC5和EF6等核心技术,因从MVC4之后MVC系列框架在.NET平台下已逐渐成熟,所以两次更新的差别并不像之前3版本差别那么大,我们很容易接受。

          总之,也就是在这个大背景下,为了提升广大学员对.NET新技术的学习质量,北风全职讲师闲筝老师,前后历经半年之久,结合自己丰富的工作经验,郑重推出了.NETMVC版的通用权限管理系统。

项目主要功能模块:

       闲筝老师的.NETMVC(v1.0)版的通用权限管理系统目前共150多讲,每讲40分钟,现功能模块主要围绕权限展开,以老师亲自搭建的Catharsis框架为基础,研发了十大业务模块,分别是:用户管理,角色管理,菜单管理,权限管理,组织机构管理、特权管理、用户角色管理、角色权限管理、日志管理和报表统计;还有异常过滤器、EpPlus操作EXCEL、HignCharts图表、uploadify上传控件、二维码推广和Reportviewer(rdlc)报表统计打印等知识点模块。除此以外,为方便学员理解项目所用架构方面的知识点,讲师在录制项目前后,特意整理录制了EasyUI精彩示例150多项、T4专题、Spring.net专题、EF专题、Log4net专题和C#4.0十种语法糖专题等。以上所提内容均已录制完毕,可以直接运行源码和观看相关视频;并且在接下来的时间,会持续更新新的技能点或功能模块。 

 

项目研发环境及主要技能点介绍:

 

       1.项目研发环境

项目源代码会提供以MVC4+EF5MVC5+EF6为基准的两套版本,数据库会提供以Sqlserver2005为基准的数据库脚本,以下环境都适用于项目。

开发工具:VS2012,VS2013;

数据库工具:SqlServer2005,2008,2012,2014   

其他工具:Easyui,Jquery,EpPlus,HignCharts,uploadify,QRCode等都会提供与项目匹配的源文件

   2.框架介绍:

项目所用框架,主要基于微软自家技术MVC、EF、T4和第三方的Spring.net、Log4net、Easyui搭建,不存加密或不开源的第三方组件,完全是使用频率高、可控和可扩展的的技能点和组件。整个框架以抽象工厂设计模式和MVC设计模式为指导思想,易扩展和更换部分模块,完全符合Open-Close的设计原则 。基于Razor和EasyUI呈现页面效果(View),学员也可以换成其他熟悉的前端框架;业务数据模型(Model)对应的业务数据交由业务仓储(Service)和数据仓储(Repository)来提供,业务实体交由EF所在的公共服务(Infrastructure)来提供,并且各层设计符合抽象工厂思想,支持多类型数据库;层与层之间通过仓储接口集来交流,通过Sping.net实现低耦合;所涉及业务类或接口均可通过partial机制和T4进行扩展;在框架中对EF进行了二次封装,关联T4之后所有表的增删改查方法,可以自动生成,表结构发生改变只须重新保存相关模板;同时也对Log4net进行了封装,自动生成操作代码直接关联Log4net进行操作日志的数据库保存,特殊情况可以特殊处理等。

      3.前端及权限机制介绍

easyUI提供的Api文档及网上的参考示例,基本上解决了我们常规开发中遇到的问题,在项目中老师只对频繁使用的easyUI函数进行了封装主要把视图中的easyUI与控制器里的Action方法之间的数据交互部分做了重点封装,从而达到灵活控制前后端json数据的目的;并且讲师在讲前端部分时特意用Fiddler工具反复跟踪请求报文,重点解释前后端代码如何写以及这么写的原因,学员更容易理解Web开发的原理和esayUI的交互机制结合MVC的IAuthorizationFilter、IExceptionFilter的过滤器机制和权限表结构,本项目把操作权限控制到了域->控制器->方法->请求方式级别,并通过反射机制自动的对Ajax和非Ajax请求,做了回调处理,结合相关模块,轻松实现常规的权限设定,并结合我们实际加了特权管理模块。由于MVC相关技术在.NET平台下的孕育时间相对较短,常规功能模块相关的资料和DEMO并不是很完善,因此讲师本人也是经过多方参考和研究,对在.NETMVC下用EpPlus操作EXCEL、HignCharts生成图表、uploadify上传图片、Code二维码、ReportViewer报表打印等常规技能做了一个小结,并结合项目得以实际应用,后续也会更新其他相关实用的操作技能模块,敬请期待。  


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。