网站开发与软件销售,wordpress用什么服务器系统,自助服务系统网站,高并发 wordpress一、前言毕业后入职现在的公司快有一个月了#xff0c;公司主要的产品用的是C/S架构#xff0c;再加上自己现在还在学习维护很老的delphi项目#xff0c;还是有很多不情愿的。之前实习时主要是做.NET的B/S架构的项目#xff0c;主要还是用的那种传统的开发模式#xff0c;… 一、前言 毕业后入职现在的公司快有一个月了公司主要的产品用的是C/S架构再加上自己现在还在学习维护很老的delphi项目还是有很多不情愿的。之前实习时主要是做.NET的B/S架构的项目主要还是用的那种传统的开发模式只有一个项目用到了Web API自己负责后端的接口功能实现。既然现在没办法改变现状那就先改变自己吧。定了个计划下班后慢慢的开始学习ASP.NET Core Web API和Vue准备从前端到后端自己写一个小项目玩玩毕竟代码这个东西时间长了是会忘的。 嗯有点扯远了。这个MVC项目是我的毕业设计虽然写的比较烂而且当时为了赶紧写完代码的冗余程度有点高但还是希望能给一些准备入门ASP.NET Core MVC的童鞋提供些借鉴吧。代码我放到Github上了源码地址https://github.com/Lanesra712/Danvic.PSU欢迎大神们拍砖指出不足处。 二、项目介绍 毕业论文的课题是一个大学生的一个报名系统主要是为了完成大学生报名过程中的一些数据维护当然最后因为实在来不及了好多都没做。。。项目主要使用到的相关技术如下所示项目框架ASP.NET Core 2.0 MVCORMEntity Framework Core使用Code First数据库引擎MySQL SERVER 5.7权限验证基于策略的权限验证(Policy-Based Authorization)前端框架AdminLte一个基于Bootstrap的开源前端UI表格控件Jquery Datatables数据可视化组件Echarts日志记录nlog 三、设计与实现介绍 项目架构采用的是多层架构通过拆分不同的功能领域实现各个功能间的相对独立项目在VS中搭建完成后如下图所示。 01_Entity:实体层包含PSU.Entity这一个系统组件用于存储数据库中表所对应的C#对象实体。 02_Infrastructure:基础架构层包含PSU.EFCore、PSU.Utility两个系统组件。PSU.EFCore类库通过引用Entity Framework Core来完成对于数据库的操作。PSU.Utility类库中包含系统开发过程中可能用到的帮助类文件。 03_Logic:逻辑层包含PSU.Domain、PSU.Repository两个系统组件。PSU.Domain用于继承每个领域的接口类库PSU.IService实现领域接口中的功能。PSU.Repository用来实现PSU.Domain类库中所包含的对于数据库的操作。 04_Rule:规则层包含PSU.IService、PSU.Model这两个系统组件。PSU.IService为系统领域功能接口类库PSU.Model为视图所对应的数据充血模型对应MVC模式中的实体Model。 Controller.PSU:控制器层.NET Core类库用来存放MVC模式中的各种控制器文件。 PSU.Site:表现层ASP.NET Core MVC项目项目主程序。 系统权限验证设计 整个系统分为三种角色分别为管理员、教职工、学生用户通过使用Area搭建每个角色的页面通过在Controller上添加Area特性指定当前Controller属于的角色。在创建用户时会指定用户的角色字段当用户登录成功后会根据用户角色进行Claim的创建通过自定义的AuthorizztionHandler来实现对于当前系统的角色权限控制。 当用户登录成功后会将当前的用户信息赋值给一个静态类使用Session进行存储对于判断用户是否登录则是通过自定义一个控制器的基类重写OnActionExecuting方法来实现对于用户是否登录的判断实现代码如下。 权限验证代码如下截图所示 控制器示例图 基于策略的权限验证实现 自定义验证Claim 四、总结 接下来我要开始学习ASP.NET Core Web API和Vue了希望可以保持住能够不间断的在博客上分享自己的学习经历与见解。当学的差不多的时候争取把这个项目精简重构让自己在成为更好的自己的路途上前进一大步。 因为也是第一次使用ASP.NET Core MVC进行项目的开发所以遇到了一些自己没办法解决的东西很感谢博客园里的各位大佬以及一些帮助我的大佬正是因为有这么多乐于分享的人在才能更好的推动.NET Core在国内的生态发展在写毕业设计的过程中参考了很多位博主的博文真的是很感谢致敬。 还是要推广下自己的个人博客啊点击这里去看看我的博客啊~~~ 项目实现图如下。原文地址https://www.cnblogs.com/danvic712/p/9349583.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com