Skip to content

是一套快速开发后台基础框架、内置后台基础常用功能。使用Asp.Net Core 开发,配置SqlServer

License

Notifications You must be signed in to change notification settings

lovachen/FastNet

Repository files navigation

FastNet

基于 ASP.NET Core + EFCore + AdminLTE 开发出来的框架,源代码完全开源。内置后台基础常用功能。 其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展,让Web开发更迅速、简单。

当前版本

  • 基于.Net Core 2.2 开发;
  • ORM 使用 EF core
  • SqlServer 数据库 项目含有 fastnet.sql数据生成文件

技术介绍

1、前端技术

  • AdminLTE 后台Web页面模板
  • 数据表格:datatable
  • 对话框:layer
  • 下拉选择框:jQuery Select2

2、后端技术

  • 核心框架:ASP.NET CORE、WEB API
  • 持久层框架:EF CORE
  • 缓存框架:微软自带Cache、Redis
  • 日志管理:NLog、登录日志、操作日志

项目结构

  • Controllers 为Api层,为WebApi所用
  • Pages 为页面文件 其中Admin 为后台管理页面,也是我们当前主要实现的页面
  • Pages 其它为前台页面,自行实现项目

项目分层

  • AiBao.Core 项目核心层 引用了 cts.web.core 类库 ,这也是我封装的一个类库
  • AiBao.Entities 数据库实体层,本系统才使用数据库优先的开发模式,对于一般系统来说,优先构建数据开发 通过使用Scaffold-DbContext来生成数据库实体
  • AiBao.Mapping 数据实体映射。AiBao.Entities 作为数据库实体生成,常常在于数据改动时回重新生成,因此不对实体做任何改动,从而引入了实体映射通过AutoMapper 将实体映射转换
  • AiBao.Services 服务层 承担着于数据库的操作,缓存的操作于此,通过程序的反射批量注入DI
  • AiBao.Web 项目UI层 承载项目所有的页面,Web Api

启动默认

系统启动时回将基础的参数配置,菜单配置默认写入数据库,初始化系统。

  • 菜单 sitemap.xml 文件进行配置,配置的详情说明于 cts.web.core 类库实现。通过读取配置文件,生成菜单写入数据库完成初始化
  • 初始化系统参数,系统在启动时可以配置相关的系统参数
  • 系统默认启用 NLog作为错入日志记录,并写入数据库而不是文件

后台管理入口

单一的项目分为 前台,后台,Api等,系统启动时显示默认页面(前台首页),通过连接进入后台(https://localhost:44338/admin)。 数据在生成时默认添加了一个超级管理元账号【admin】密码:abc123

  • 密码存储:在系统设计上,密码的存储并非明文。而是Md5(密码+Salt)存储,引入密码盐(Salt)使MD5更散列。
  • 登陆实现:登陆时进行两次请求,提一次:通过账号,获取密码盐(Salt)和随机数R,通过jqery.md5插件运算 MD5(MD5(密码+Salt)+R)得到最终提交的密码参数。R记录在数据中,登陆验证时通过数据库记录的用户MD5(存储密码+R)进行匹配。R随机只使用一次,无论登陆成功与否都将清除此R,不可再用.
  • 登陆成功后将一些用户常见的信息写入cookie,为了有可能的开发管理App,所有写入cookie 的配置和写入Jwt的配置进行统一,Jwt的说明 cts.web.core 类库实现

缓存操作

 services.AddRedisOrMemoryCache(Configuration); //启用缓存方式

如未配置Redis缓存则默认启用内存 cts.web.core 类库 有缓存实现

说说 AddDbContextPool 和 AddDbContext

AddDbContextPool 和 AddDbContext 都作为将DbContext注入的方式,Pool引入的连接池,性能会更高,但是默认的连接池个数为128,而 SqlConnection默认连接池为100,因此建议将AddDbContextPool连接池设置为100,避免因 SqlConnection连接池耗尽二导致连接错误。 使用 AddDbContext 则无需担心此问题。

About

是一套快速开发后台基础框架、内置后台基础常用功能。使用Asp.Net Core 开发,配置SqlServer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published