千家信息网

ASP.NET Core2.0 MVC项目怎么创建

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容主要讲解"ASP.NET Core2.0 MVC项目怎么创建",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"ASP.NET Core2.0 MVC项
千家信息网最后更新 2026年11月03日ASP.NET Core2.0 MVC项目怎么创建

本篇内容主要讲解"ASP.NET Core2.0 MVC项目怎么创建",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"ASP.NET Core2.0 MVC项目怎么创建"吧!

项目介绍

毕业论文的课题是一个大学生的一个报名系统,主要是为了完成大学生报名过程中的一些数据维护,当然最后因为实在来不及了,好多都没做。。。项目主要使用到的相关技术如下所示:
1)项目框架:ASP.NET Core 2.0 MVC
2)ORM:Entity Framework Core(使用Code First)
3)数据库引擎:MySQL SERVER 5.7
4)权限验证:基于策略的权限验证(Policy-Based Authorization)
5)前端框架:AdminLte(一个基于Bootstrap的开源前端UI)
6)表格控件:Jquery Datatables
7)数据可视化组件:Echarts
8)日志记录: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方法来实现对于用户是否登录的判断,实现代码如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/// 
/// 自定义控制器基类
///

public class DanvicController : Controller
{
///
/// 判断用户是否登录
///

///
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (CurrentUser.UserId == 0)
{
string path = filterContext.HttpContext.Request.Path;
filterContext.Result = new RedirectResult($"/Secret/Login?ReturnUrl={path}");
return;
}
base.OnActionExecuting(filterContext);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/// 
/// 当前登录的用户信息
///

public static class CurrentUser
{
#region Initialize

private static IHttpContextAccessor _httpContextAccessor;

private static ISession _session => _httpContextAccessor.HttpContext.Session;

public static void Configure(IHttpContextAccessor httpContextAccessor)
{
_httpContextAccessor = httpContextAccessor;
}

#endregion

#region Attribute

///
/// 用户主键
///

public static string UserOID
{
get => _session == null ? "" : _session.GetString("CurrentUser_UserOID");
set => _session.SetString("CurrentUser_UserOID", !string.IsNullOrEmpty(value) ? value : "");
}

///
///用户编号
///

public static long UserId
{
get => _session == null ? 0 : Convert.ToInt64(_session.GetString("CurrentUser_UserId"));
set => _session.SetString("CurrentUser_UserId", value != 0 ? value.ToString() : "0");
}

///
/// 用户姓名
///

public static string UserName
{
get => _session == null ? "" : _session.GetString("CurrentUser_UserName");
set => _session.SetString("CurrentUser_UserName", !string.IsNullOrEmpty(value) ? value : "");
}

///
/// 用户登录账户
///

public static string UserAccount
{
get => _session == null ? "" : _session.GetString("CurrentUser_UserAccount");
set => _session.SetString("CurrentUser_UserAccount", !string.IsNullOrEmpty(value) ? value : "");
}

///
/// 用户头像地址
///

public static string UserImage
{
get => _session == null ? "" : _session.GetString("CurrentUser_UserImage");
set => _session.SetString("CurrentUser_UserImage", !string.IsNullOrEmpty(value) ? value : "");
}

///
/// 用户角色
///

public static string UserRole
{
get => _session == null ? "" : _session.GetString("CurrentUser_UserRole");
set => _session.SetString("CurrentUser_UserRole", !string.IsNullOrEmpty(value) ? value : "");
}

///
/// 主页地址
///

public static string UserPage
{
get => _session == null ? "" : _session.GetString("CurrentUser_UserPage");
set => _session.SetString("CurrentUser_UserPage", !string.IsNullOrEmpty(value) ? value : "");
}

#endregion
}

到此,相信大家对"ASP.NET Core2.0 MVC项目怎么创建"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

用户 项目 系统 数据 角色 登录 组件 控制 功能 控制器 数据库 权限 领域 两个 实体 接口 架构 验证 成功 信息 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司怎么样 广州万易互联网科技有限公司 互联网科技革命 赫美联合互联网科技 互联网高科技企业 亿人帮互联网科技 互联网科技视频素材 新华互联网科技2019 哈尔滨新华互联网科技学院 互联网企业和科技型企业 贵州叶脉互联网科技有限公司所属行业 宝灵互联网科技有限公司 和信科技工业互联网 互联网科技产业特征 健康食品互联网创新科技园项目 华中科技大学互联网的牛人 保山互联网科技靠谱吗 互联网科技和医药行业 科技互联网公司两年变化 承德科技产业互联网平台 科技互联网政务服务 青岛互联网科技公司 银优互联网科技有限公司 电子科技大学互联网 宁夏科技产业互联网案例 湖北码尼互联网科技有限公司电话 荆州市昕露互联网络科技有限公司 广西科技产业互联网是什么 互联网科技的前景 每日互联网科技新闻
0