【Java作业自动审批平台】| 后台管理认证授权表实现整体设计

这篇具有很好参考价值的文章主要介绍了【Java作业自动审批平台】| 后台管理认证授权表实现整体设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Java作业自动审批平台】| 后台管理认证授权表实现整体设计,# spring开发,java,开发语言,springboot
大家好,我是狮子!这里是《Java题目自动审批系统》专栏。
我们上一章《分布式Java题目自动审批系统后端开发实战——开篇点题》搭建了项目后台大体框架,编写,现在轮廓已经清晰,现在可以来实现编码后台权限认证管理工作了。
在编码之前,我们还是先搞清楚为什么需要权限管理以及能实现权限认证的框架有哪些?


一. 🦁 为什么需要权限管理

【Java作业自动审批平台】| 后台管理认证授权表实现整体设计,# spring开发,java,开发语言,springboot

日常工作中权限的问题时时刻刻伴随着我们,程序员新入职一家公司需要找人开通各种权限,比如网络连接的权限、编码下载提交的权限、监控平台登录的权限、运营平台查数据的权限等等。

在很多时候我们会觉得这么多繁杂的申请给工作带来不便,并且如果突然想要查一些数据,发现没有申请过权限,需要再走审批流程,时间拉得会很长(这一点国企表现得尤为明显)。那为什么还需要这么严格的权限管理呢?

假设有一家医院,医院拥有患者的病历信息、医生的工作信息、药品的库存信息等等。如果这些信息都被不加限制地共享给医院内的每一个员工,那么可能会出现以下问题:一些非医疗人员有了查看病历的权限,导致患者的隐私泄露;医生们可以随意更改药品的库存信息,可能会导致药品过期或短缺;一些医护人员能够查看到其他同事的工作信息,会破坏团队之间的信任关系等等。因此,对于这些敏感信息,需要进行权限控制,只授权特定的人员进行访问和操作。

总的来说,权限管理是企业保障数据安全的重要措施。根据不同的岗位和职责,分配不同的权限,让员工只能访问与工作相关的数据,同时避免了敏感信息的泄露和误操作。这有助于提高数据的安全性和可靠性,并保障企业合法权益。

权限管理的目标是确保每个岗位的工作人员在系统上只能访问和执行与其职责相关的任务,并限制他们对其他任务和数据的访问权

权限管理框架常见的有SpringsecurityShiro,我们选择与SpringBoot契合度更高的Springsecurity框架!

二. 🦁 设计思想

使用Springsecurity搭建授权认证表是一种常见的做法,可以实现对系统中的用户进行身份验证和权限管理。

Ⅰ. 需求分析

在搭建授权认证表之前,我们需要明确需求和目标。我们的Java作业自动审批平台编写授权认证表的目的是为了实现用户身份验证和相关权限管理的功能。具体来说,我们需要实现以下需求:

  • 用户注册:允许用户通过用户名和密码进行注册,并将其保存到数据库中。
  • 用户登录:允许已注册的用户通过用户名和密码进行登录验证,并生成相应的身份认证凭证。
  • 权限管理:对不同的用户分配不同的权限,以控制其在系统中的操作范围。

Ⅱ. 数据库设计

在开始搭建授权认证表之前,我们需要设计数据库表结构来存储用户信息和权限信息(遵循RBAC模型)。
关系图如下:

【Java作业自动审批平台】| 后台管理认证授权表实现整体设计,# spring开发,java,开发语言,springboot

依据上图,我们设计以下表

  • 用户表(Admin):存储用户的基本信息,如用户名、密码等。
CREATE TABLE admin (
	aid INT ( 10 ) PRIMARY KEY AUTO_INCREMENT COMMENT '管理员主键',
	username VARCHAR ( 50 ) UNIQUE NOT NULL COMMENT '姓名',
	PASSWORD VARCHAR ( 255 ) NOT NULL COMMENT '密码',
	memory BIGINT DEFAULT 0 COMMENT '初始内存大小' 
) ENGINE = INNODB;
  • 角色表(Role):存储系统中的角色信息,如管理员、普通用户等。
CREATE TABLE role ( rid INT ( 10 ) PRIMARY KEY AUTO_INCREMENT COMMENT '角色表主键', role_name VARCHAR ( 50 ) COMMENT '角色名' ) ENGINE = INNODB;
  • 权限表(Permission):存储系统中的权限信息,如访问某个功能的权限。
CREATE TABLE permission (
	pid INT ( 10 ) PRIMARY KEY AUTO_INCREMENT COMMENT '权限id',
permission_name VARCHAR ( 50 ) COMMENT '权限名',
url VARCHAR ( 100 )) ENGINE = INNODB;
  • 用户角色关联表(Admin_Role):建立用户和角色之间的关联关系。
CREATE TABLE admin_role ( aid INT ( 10 ), rid INT ( 10 ), PRIMARY KEY ( aid, rid ) );
  • 角色权限关联表(Role_Permission):建立角色和权限之间的关联关系。
CREATE TABLE role_permission ( rid INT ( 10 ), pid INT ( 10 ), PRIMARY KEY ( rid, pid ) ) ENGINE = INNODB;

Ⅲ. Springsecurity配置

在项目中引入Springsecurity,这里不需要指定版本,因为SpringBoot的依赖管理采用了约定大于配置的思想,将Springsecurity注册到了SpringBoot维护的版本仓库中,所以这里的Springsecurity版本和SpringBoot版本是一致的。

        <!-- spring-security -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

并进行相应的配置。主要配置包括:

  • 配置用户认证:指定用户认证的方式,例如基于数据库的认证。
  • 配置权限管理:定义系统中的角色和权限,并分配给用户。
  • 配置登录认证:指定登录页面、登录成功后的跳转页面等相关配置。
  • 配置访问控制:定义系统中不同URL路径的访问权限(网盘系统使用Handler)。

Ⅳ. 实现用户注册和登录

在系统中实现用户注册和登录的功能,包括以下步骤:
这里需要注意几点:用户注册和登录的前端页面名字和跳转路径需要提前指定好,所以这里需要和前端工程师约定好!!!

  • 创建用户注册页面,接收用户输入的用户名和密码,并将其保存到数据库的用户表中。
  • 创建用户登录页面,接收用户输入的用户名和密码,并通过Springsecurity进行认证。
  • 配置Springsecurity的认证方式,验证用户输入的用户名和密码是否与数据库中的用户信息匹配。
  • 配置Springsecurity的登录认证成功后的处理,例如生成身份认证凭证、跳转到指定页面等。

Ⅴ. 实现权限管理

在系统中实现权限管理的功能,包括以下步骤:

  • 创建角色和权限的管理页面,用于添加、编辑和删除角色和权限信息。

  • 在数据库中维护角色表和权限表,并建立角色和权限之间的关联关系。

  • 配置Springsecurity的权限管理,将系统中定义的角色和权限映射到Springsecurity的配置中。

  • 根据用户的角色信息,控制用户在系统中的操作权限。

三. 🦁 写在最后

如果说我比别人看得要远一点,那是因为我站在巨人的肩上。

——牛顿

这是文章的最后了,你有收获嘛?


【Java作业自动审批平台】| 后台管理认证授权表实现整体设计,# spring开发,java,开发语言,springboot

四. 🦁 文末福利

为了让大家更好地学习SpringSecurity框架,狮子特地向清华社申请了《Spring Security实战》一书,
【Java作业自动审批平台】| 后台管理认证授权表实现整体设计,# spring开发,java,开发语言,springboot

是一本关于 Spring Security 的应用指南,主要讲解了 Spring Security 的基础知识点、核心概念,以及围绕身份验证和授权过程的关键处理流程。
书籍目录如下:
【Java作业自动审批平台】| 后台管理认证授权表实现整体设计,# spring开发,java,开发语言,springboot
某东原价 122元,现在免费赠书三本,详情如下:


🦁 送书抽奖活动 🦁

本次活动赠书3本,评论区抽取3位小伙伴送书

活动时间: 截止到2023-10-24 20: 00
参与方式: 点赞、收藏本文章,并任意评论”
抽奖时间: 2023.10.24
公布时间: 2023.10.24
通知方式:交流群内公布或私信通知


🦁 其它优质专栏推荐 🦁

🌟《Java核心系列(修炼内功,无上心法)》: 主要是JDK源码的核心讲解,几乎每篇文章都过万字,让你详细掌握每一个知识点!

🌟 《springBoot 源码剥析核心系列》:一些场景的Springboot源码剥析以及常用Springboot相关知识点解读

欢迎加入狮子的社区:『Lion-编程进阶之路』,日常收录优质好文

更多文章可持续关注上方🦁的博客,2023咱们顶峰相见!文章来源地址https://www.toymoban.com/news/detail-712768.html

到了这里,关于【Java作业自动审批平台】| 后台管理认证授权表实现整体设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ceph:关于 Ceph 用户认证授权管理的一些笔记

    准备考试,整理 Ceph 相关笔记 博文内容涉及, Ceph 用户管理,认证管理,权限管理 以及相关 Demo 理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众

    2024年02月11日
    浏览(42)
  • 权限管理详解:认证、授权及Spring Security配置解析

    深入探讨权限管理的重要性与实现方式,包括认证、授权概念,基于角色和资源的访问控制方案,以及Spring Security框架的概述和快速入门指南。

    2023年04月10日
    浏览(31)
  • 【Django学习】(十五)API接口文档平台_项目流程分析_日志器_认证_授权

    使用API接口文档不经可以很好的的维护接口数据,还给测试人员的接口测试工作带来了便利; 我们可以在全局配置文件中添加路由路径生成接口文档 1.1在全局配置文件里指定用于支持coreapi的Schema 1.2在全局路由表中添加路径   页面效果: 2.1 一定要先在配置表中注册drf_yas

    2024年02月15日
    浏览(47)
  • 支付宝小程序授权登录 (Java 后台篇)

    支付宝小程序授权登录 (Java 后台篇) 开始 : 实现支付宝小程序授权登录功能, 本文主要是介绍支付宝小程序授权登录流程,与关键登录与处理代码. 流程 : 关键代码 : 1.获取用户信息 2.获取用户手机号 关键参数指南 : AppId : 支付宝开放平台 ⇒ 控制台 ⇒ 左上角 公钥密钥: 支付宝

    2024年02月12日
    浏览(34)
  • Java常用登录认证和授权方式

    具体使用那种需要看自己项目的体量和具体的场景。 本案例中提供了五中方案及详细的解决办法,希望对你有帮助。 【方案1-通过session对象共享数据】 用户登录之后将用户的信息和权限信息放入到session中,然后再执行所有的操作中。获取session中存储的信息,如果信息存在

    2024年02月16日
    浏览(25)
  • 开放平台实现安全的身份认证与授权原理与实战:学习OAuth2.0之PKCE

    随着互联网的不断发展,我们的生活中越来越多的服务都需要我们的身份认证和授权。例如,我们在使用某些网站或应用程序时,需要通过账号和密码进行身份认证,以便于保护我们的个人信息和数据。同时,当我们使用某些第三方应用程序时,这些应用程序需要我们授权访

    2024年04月16日
    浏览(25)
  • 开放平台实现安全的身份认证与授权原理与实战:整理OAuth2.0各种开发指南

    OAuth 2.0 是一种基于标准 HTTP 的身份验证和授权机制,它允许用户授予第三方应用程序访问他们在其他服务(如社交网络、电子邮件服务器或云存储服务)的数据。OAuth 2.0 的目标是提供一种简化的方法,使得用户可以安全地授予第三方应用程序访问他们的数据,而无需将他们的密

    2024年04月27日
    浏览(32)
  • SpringBoot集成SpringSecurity从0到1搭建权限管理详细过程(认证+授权)

    最近工作需要给一个老系统搭建一套权限管理,选用的安全框架是SpringSecurity,基本上是结合业务从0到1搭建了一套权限管理,然后想着可以将一些核心逻辑抽取出来写一个权限通用Demo,特此记录下。 Spring Security是 Spring家族中的一个安全管理框架。相比与另外一个安全框架

    2024年02月04日
    浏览(32)
  • 学习笔记三十一:k8s安全管理:认证、授权、准入控制概述SA介绍

    认证基本介绍:kubernetes主要通过APIserver对外提供服务,那么就需要对访问apiserver的用户做认证,如果任何人都能访问apiserver,那么就可以随意在k8s集群部署资源,这是非常危险的,也容易被黑客攻击渗透,所以需要我们对访问k8s系统的apiserver的用户进行认证,确保是合法的符

    2024年02月06日
    浏览(31)
  • Flink通过Java API提交作业到keberos认证的Yarn

    背景 作为数据中台与大数据底座交互层,系统需要要提供一个rest api,供上层应用提交到flink作业到kerberos认证yarn上,网上资料多是通过flink run命令,记录下怎么通过api的方式把一个任务以application的方法提交到yarn集群,最重要的是可以通过springboot 就可以提交程序到yarn上面

    2024年03月11日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包