net core体系-web应用程序-4asp.net core2.0 项目实战(1)-3项目架构说明

本文目录
1. 摘要
2. 框架介绍 
3. 权限管理之多一点说明
4. 总结

1.  摘要

  NCMVC角色权限管理框架是由最近练习Net Core时抽时间整理的系统,后续能不能发展成一个cms还要看朋友们是否有需要或时间是否充实。这里NCMVC主要还是给想要学习接触Asp.Net Core2.0的朋友们提供一些借鉴以及坑点提醒等,项目现在还有很多不足,以后会尽量完善一些。写这个系列也没有完全按照原来列好的目录正序来写,倒叙/插叙都有也是项目练习到了顺便记录下来仅此而已。中间有朋友留言说没有源码理解起来比较麻烦,这里我也尽我所能尽快把源码发到git上供大家下载。

2.  框架介绍

  框架主要包含:数据库访问Ado.Net模式和Ef Core、日志记录、缓存(memcached/redis)等与传统webform下简单三层模式比较相似,方便理解层级关系。对初次学习Asp.Net Core相对容易理解些,难度级别:易。

  NC.Common【工具类】:缓存帮助类、配置管理类、加解密、json处理、日志记录等等工具合集

NC.Core【核心库】:数据库操作核心库,现主要是MSSQL操作

NC.Lib【通用类库】:主要是一些全局类库,如:属性类、登录验证类、通用权限验证、配置、异常处理等

NC.Model【EFCore 数据库model】:DB First模式,坑点:运行命令前项目要能生成成功,才能生成models,不然会报build fail。《Asp.Net Core 2.0 项目实战(4)ADO.NET操作数据库封装、 EF Core操作及实例

NC.MVC【MVC主程序】:现在只实现后台管理、菜单管理、角色权限管理、部门用户管理等,Net Core下cookie与session模式不太相同,登录需要借助Microsoft.AspNetCore.Authentication。网站前台会员后、台管理员同项目登录请参考《Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员、后台管理员同时登录》;现在这种模式自我感觉还有点繁琐,如有其它简便实现方式还请留言告知。

3.  权限管理之多一点说明

  既然现在项目是权限管理框架,那么权限这块还是要再补充说明一些,在《Asp.Net Core 2.0 项目实战(11) 基于OnActionExecuting全局过滤器,页面操作权限过滤控制到按钮级》中我们已经写过权限管理的实现文体思路,下面之于原来文章一个简单补充。

  现权限管理主要是针对菜单以及菜单所拥有哪些权限(按钮action)的一个控制,数据库中添加菜单名称一个别名(controller),别名尽量与菜单链接名一致,并勾选菜单下有哪些操作权限(按钮)。

  菜单创建完成后接下来就是程序中控制,全局Controller AdminBase负责权限验证,所有后台Controll继承AdminBase ;如ad_min/article/article_add地址,AdminBase处理时会先找到article_add action判断是否包含属性,NavName和ActionType,如果包含会直接验证权限中是否包含菜单别名(navname)和操作权限(添加按钮actiontype),这样就完成了常规验证。

  基于约定大于配置的规则,我们创建菜单时直接就写controller名称,这样不写NavName和ActionType属性时,以Controller+约定(Add、Edit、Del等)进行验证等

  总结:主体思路时,约定验证权限+属性验证权限再配合其他验证写法来达到按钮级权限控制。

4.  总结

  刚开始写《Asp.Net Core项目实战》系列时从列目录到写第一篇文章Asp.Net Core才1.1当时也是先练习练习,毕竟还不成熟。写到现在已经Net Core2.1,项目周期跨度比较大的,现在越来越多的人加入到Net Core开源行列来,毕竟Net Core是趋势,未来用的人肯定会越来越多。项目实战的时候学习ASP.NET Core技术最快的方式,希望大家多多开源,让Net Core生态尽量完善起来。没有完美的程序就像没有完美的人,我还在努力;欢迎推荐。

原文地址:https://www.cnblogs.com/hmit/p/10768118.html

时间: 2024-10-10 04:51:58

net core体系-web应用程序-4asp.net core2.0 项目实战(1)-3项目架构说明的相关文章

net core体系-web应用程序-4asp.net core2.0 项目实战(1)-2项目说明和源码下载

本文目录1. 摘要2. Window下运行 3.linux下运行4. 开发记录5. 总结 1.概要 写<Asp.Net Core 2.0 项目实战>系列断断续续已经很长时间了,期间很多朋友要求开放源码,但是项目代码一直有很多问题,就算勉强开源出来大家看起来也比较费劲,运行起来也看不到实际的效果.在公司平时真的是太忙了,很少有时间去系统的整理一个框架,只能以学习这种形式边学边做.承诺大家开源出来此项目我做到了,虽然项目依然有很多问题,我接下来会再完善.功能暂时不会再增加了,暂时先做到权限管理,以

net core体系-web应用程序-4asp.net core2.0 项目实战(1)-5项目数据库操作封装操作

本文目录1. 摘要2. Ado.Net数据库操作封装类 3. EF Core数据库操作4. 总结 1.  摘要 Asp.Net Core2.0下操作MSSQL数据库,这里介绍两种操作方式,一种是.NET Framework的ADO.NET<Ado.Net百科>,另一种就是Net Core2.0下的一种orm操作EF Core,由于本人习惯Ado.Net编程模式,EF Core涉猎不是很深,推荐网友连接,本文有不写的不到之处欢迎大家批评指正. 2.  Ado.Net数据库操作封装类 2.1配置文

net core体系-web应用程序-4asp.net core2.0 项目实战(1)-13基于OnActionExecuting全局过滤器,页面操作权限过滤控制到按钮级

1.权限管理 权限管理的基本定义:百度百科. 基于<Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员.后台管理员同时登录>我们做过了登录认证,登录是权限的最基础的认证,没有登录就没有接下来的各种操作权限管理,以及数据权限管理(暂不探讨),这里我们把登录当作全局权限,进入系统后再根据不同的角色或者人员,固定基本功能的展示,当不同的角色要对功能操作时,就需要验证操作权限,如:查看/添加/修改/删除,也就是我们常说的控制到按钮级.下面让我们一步一步来操作

net core体系-web应用程序7asp.net core日志组件

日志介绍 Logging的使用 1. appsettings.json中Logging的介绍 Logging的配置信息是保存在appsettings.json配置文件中的.因为之前介绍配置文件的时候我们使用的是appsettings.Development.json这个文件,所以在介绍Logging的时候我们也用它吧. 通过上图可以看到Logging节点,下面有两个子节点IncludeScopes和LogLevel. IncludeScopes表示是否要使用日志作用域.在同一个作用域下的日志都会

Win10 兼容性 Visual studio web应用程序 ASP.NET 4.0 尚未在 Web 服务器上注册

我原先的win8系统,vs2012打开解决方案还不会报asp.net4.0未在web服务器上注册这个错误,更新win10后,vs2012总是报这个问题 后来在网上找到了答案,分享给需要的朋友,原因是win10跟vs2012不兼容,解决方法一:下载补丁KB3002339或者方法二:直接用vs2015. 这个是在这个博客看到的,http://blog.csdn.net/luozhuang/article/details/47810703 补丁下载官方地址是:http://www.microsoft.

2019千锋Web前端拉勾网项目实战

课程目录:01-拉勾网项目实战02-拉勾网项目实战03-拉勾网项目实战04-拉勾网项目实战05-拉勾网项目实战06-拉钩网项目实战07-拉勾网项目实战08-拉勾网项目实战09-拉勾网项目实战10-拉勾网项目实战11-拉勾网项目实战12-拉勾网项目实战13-拉勾网项目实战14-拉勾网项目实战15-拉勾网项目实战16-拉勾网项目实战17-拉钩网项目实战18-拉钩网项目实战19-拉钩网项目实战20-拉钩网项目实战21-拉钩网项目实战22-拉钩网项目实战23-拉钩网项目实战24-拉钩网项目实战 下载地址

使用VS Code开发.Net Core 2.0 MVC Web应用程序教程之一

好吧,现在我们假设你已经安装好了VS Code开发工具..Net Core 2.0预览版的SDK dotnet-sdk-2.0.0(注意自己的操作系统),并且已经为VS Code安装好了C#扩展(在VS Code的扩展菜单中输入OmniSharp,安装扩展即可) 一.我们先在我们的电脑硬盘的某个神奇的目录下新建一个文件夹.我把这个地方选在D:\WorkTest下,创建的文件夹名称为MyCMS.注意,这一步不是在VS Code中完成的,貌似VS Code中不能创建文件夹. 二.在VS Code开发

03、手工创建Asp.Net Core 2.0 web应用程序(探索最小架构)

一.创建一个干净的控制台程序 这里我们使用的开发工具是VS2017 项目只有一个Program.cs类. 二.让控制台程序可以响应Web请求 1.让控制台程序成为Web宿主,需要引用WebHost包 Microsoft.AspNetCore.Hosting 2.我们不想用IIS作为服务器,可以使用Kestrel作为Web服务器 Microsoft.AspNetCore.Server.Kestrel 3.使用Nuget应必要包之后的项目结构 4.指定Web服务器,并启动WebHost 在Main方

使用docker部署Asp.net core web应用程序--图文教程

要想参考本文做实验,可以参考上一篇文章,关于docker的简单操作,写的比较详细. 拉取aspnetcore最新docker镜像 从阿里云的docker镜像拉取,因为前面我们针对docker镜像做过配置. [[email protected] ~]# docker pull microsoft/aspnetcore 根据你的网速等待拉取成功. [[email protected] ~]# docker images 执行上面的命令,如果能看到aspnetcore镜像,则表示拉取成功. 如果我们想