ASP.NET结合前端HTML+javascript+CSS实现高校学生管理系统

2022-12-02 15:30:09 浏览数 (1)

程序主要采用ASP.NET框架 html javascript实现高校学生管理,教师管理,授课管理等功能模块,实现高校老师学生的综合一体化在线治理,方便高校内部维护学生信息,处理班级课程的统计分析等功能。

程序模块实现

程序模块结构

在这里插入图片描述在这里插入图片描述

系统登录界面

在这里插入图片描述在这里插入图片描述

学生管理模块

在这里插入图片描述在这里插入图片描述

用户管理模块

在这里插入图片描述在这里插入图片描述

授课管理模块

在这里插入图片描述在这里插入图片描述

源码地址

需求分析

本系统主要功能:

  1. 学生信息管理:对在校学生信息进行添加、删除、修改、查询等操作。
  2. 学生成绩管理:对已经录入的学生信息进行添加、修改学习成绩,并可以通过关键字进行模糊查询。
  3. 授课信息管理:支持对授课教师、课程编号及授课老师所授课的年级进行添加和修改操作。
  4. 课程管理:可显示每个班级每学期的课程表,并可以对已经开设的课程进行添加、删除和修改。
  5. 用户管理:用于管理系统用户,可进行账号增加、账号删除、权限修改等操作,方便对不同账号进行管理,避免系统权限混乱。

业务流程分析

本系统整体主要围绕学生、教师、课程、管理员用户登实体类展开,实现系统用户的身份权限判断,用户操作授权等等。系统整体用户角色操作流程如下:

在这里插入图片描述在这里插入图片描述

用户登录校验实现

代码语言:java复制
using System;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using App;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Repository.IRepository;
using Repository.Model;
using StudentManage.Models;

namespace StudentManage.Controllers
{
    public class HomeController : Controller
    {
        private readonly ILogger<HomeController> _logger;
        private readonly IAuthRepository _authRepository;
        private readonly IRelationRepository _relationRepository;

        public HomeController(ILogger<HomeController> logger, IAuthRepository authRepository, IRelationRepository relationRepository)
        {
            _logger = logger;
            _authRepository = authRepository;
            _relationRepository = relationRepository;
        }
        /// <summary>
        /// 登录页面
        /// </summary>
        /// <returns>显示登陆页面</returns>
        public IActionResult Login()
        {
            return PartialView();
        }
        /// <summary>
        /// 退出页面
        /// </summary>
        /// <returns>显示登陆页面</returns>
        public IActionResult Logout()
        {
            HttpContext.Session.Clear();
            return PartialView("Login");
        }
        /// <summary>
        /// 校验登录
        /// </summary>
        /// <returns>返回成功失败信息</returns>
        [HttpPost]
        public async Task<IActionResult> CheckLogin(string userName, string password, int role)
        {
            var userId = await _authRepository.Login(userName, password, role);

            if (userId > 0)
            {
                var token = Guid.NewGuid().ToString().GetHashCode().ToString("x");
                var currentUser = new CurrentUser {Role = role, UserId = userId};
                HttpContext.Session.SetString("UserName", userName);
         
                if (role == 0)
                { 
                    var roles = await _relationRepository.GetRelationsByFirstId("UserRole", userId);
                    currentUser.RoleIds = roles.Select(n => n.SecondKeyId).ToList();
                }
                if (role == 2) {
                    HttpContext.Session.SetString("studentName", userName);
                }
                HttpContext.Session.SetObjectAsJson(token, currentUser);
                return Json(new { status = "success", msg = "登录成功", Token = token });
            }

            return Json(new { status = "error", msg = "登录失败" });
        }
        /// <summary>
        /// 主页面
        /// </summary>
        /// <returns></returns>
        public IActionResult Index()
        {
            string name =HttpContext.Session.GetString("UserName");
            ViewBag.RealName = name;
            return View();
        }
        /// <summary>
        /// 错误页
        /// </summary>
        [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
        public IActionResult Error()
        {
            return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
        }
    }
}

undefined

undefined

undefined

undefined

undefined

undefined

0 人点赞