创新课程管理系统--权限管理(仅为记录)

2023-10-09 09:20

本文主要是介绍创新课程管理系统--权限管理(仅为记录),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

 

由于guns自带的数据范围是用deptid来控制的,即一个学校一个学校来控制的。

但是呢,我们这个创新课程管理系统,还需要增加数据范围的控制!

比如以下场景:(一个学校里发生的事情)

1、学生自己的页面,只能显示自己交的作业,不能显示别人的。他有下载权限,可以下载作业,如果不做这个权限控制的话,后果不堪设想!

2、助教同理,助教只负责批改自己负责的学生的作业,不用批改别人的。(这个,我们倒没有多大关系,他可以看其他助教的打分,这个是允许的)

3、教师应该没有啥限制。

 

还真是,妈耶,开心~~~

目前:我的想法是:课程作业设置成:学生当然只能看自己的了,助教和老师可以看到所有的。

为什么助教可以看到所有的呢???是因为我们为了让助教可以看到其他助教打的分数,作为一个参考。

 

我们还有一个未实现的功能是:老师上传的课程资料给学生!


总共有两种部门权限控制的方法:

一种是按照视频上说的,在查询列表的方法里面加参数(但是还要改接口啥的,个人感觉这种方法有点儿麻烦)

第二种是:

 


  1. 权限管理

    1. 权限分配

教师管理:学校管理员

人员管理:教师

课程作业上传作业:学生

课程作业查看作业:教师、助教、学生(教师可以查看所有的作业、助教不可以查看所有的作业,只能查看自己对应的学生的作业,学生只能查看自己的作业)

老师:分学校,老师只能查看本校学生的作业

助教:不用也没必要分学校,助教只能查看自己账号对应的作业

学生:同助教理

课程资料推荐资料:教师(这个不分学校,全部展现)

注:这个推荐资料,是本系统推荐给每一位教师的,每一位教师都能看到,但是本人建议:保留系统管理员一个上传推荐资料的权利!

课程资料个人资料:教师、助教、学生

教师:只能查看自己的资料(这个也没必要分什么学校了)

学生和助教:只能查看本校教师允许被分享的资料(这个可能是既涉及学校的划分,又涉及字段isShare

啊哈,难道所有的权限管理我都做完啦~~~开心~~~~再查漏补缺看一遍

 

这篇关于创新课程管理系统--权限管理(仅为记录)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/171849

相关文章

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

在Node.js中使用.env文件管理环境变量的全过程

《在Node.js中使用.env文件管理环境变量的全过程》Node.js应用程序通常依赖于环境变量来管理敏感信息或配置设置,.env文件已经成为一种流行的本地管理这些变量的方法,本文将探讨.env文件... 目录引言为什么使php用 .env 文件 ?如何在 Node.js 中使用 .env 文件最佳实践引

docker编写java的jar完整步骤记录

《docker编写java的jar完整步骤记录》在平常的开发工作中,我们经常需要部署项目,开发测试完成后,最关键的一步就是部署,:本文主要介绍docker编写java的jar的相关资料,文中通过代... 目录all-docker/生成Docker打包部署文件配置服务A的Dockerfile (a/Docke

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

MySQL使用EXISTS检查记录是否存在的详细过程

《MySQL使用EXISTS检查记录是否存在的详细过程》EXISTS是SQL中用于检查子查询是否返回至少一条记录的运算符,它通常用于测试是否存在满足特定条件的记录,从而在主查询中进行相应操作,本文给大... 目录基本语法示例数据库和表结构1. 使用 EXISTS 在 SELECT 语句中2. 使用 EXIS

SpringBoot AspectJ切面配合自定义注解实现权限校验的示例详解

《SpringBootAspectJ切面配合自定义注解实现权限校验的示例详解》本文章介绍了如何通过创建自定义的权限校验注解,配合AspectJ切面拦截注解实现权限校验,本文结合实例代码给大家介绍的非... 目录1. 创建权限校验注解2. 创建ASPectJ切面拦截注解校验权限3. 用法示例A. 参考文章本文

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service