目录 一. 🦁 为什么需要权限管理二. 🦁 设计思想Ⅰ. 需求分析Ⅱ. 数据库设计Ⅲ. Springsecurity配置Ⅳ. 实现用户注册和登录Ⅴ. 实现权限管
大家好,我是狮子!这里是《Java题目自动审批系统
》专栏。
我们上一章《分布式Java题目自动审批系统后端开发实战——开篇点题
》搭建了项目后台大体框架,编写,现在轮廓已经清晰,现在可以来实现编码后台权限认证管理工作了。
在编码之前,我们还是先搞清楚为什么需要权限管理以及能实现权限认证的框架有哪些?
日常工作中权限的问题时时刻刻伴随着我们,程序员新入职一家公司需要找人开通各种权限,比如网络连接的权限、编码下载提交的权限、监控平台登录的权限、运营平台查数据的权限等等。
在很多时候我们会觉得这么多繁杂的申请给工作带来不便,并且如果突然想要查一些数据,发现没有申请过权限,需要再走审批流程,时间拉得会很长(这一点国企表现得尤为明显)。那为什么还需要这么严格的权限管理呢?
假设有一家医院,医院拥有患者的病历信息、医生的工作信息、药品的库存信息等等。如果这些信息都被不加限制地共享给医院内的每一个员工,那么可能会出现以下问题:一些非医疗人员有了查看病历的权限,导致患者的隐私泄露;医生们可以随意更改药品的库存信息,可能会导致药品过期或短缺;一些医护人员能够查看到其他同事的工作信息,会破坏团队之间的信任关系等等。因此,对于这些敏感信息,需要进行权限控制,只授权特定的人员进行访问和操作。
总的来说,权限管理是企业保障数据安全的重要措施。根据不同的岗位和职责,分配不同的权限,让员工只能访问与工作相关的数据,同时避免了敏感信息的泄露和误操作。这有助于提高数据的安全性和可靠性,并保障企业合法权益。
权限管理的目标是确保每个岗位的工作人员在系统上只能访问和执行与其职责相关的任务,并限制他们对其他任务和数据的访问权。
权限管理框架常见的有Springsecurity和Shiro,我们选择与SpringBoot契合度更高的springsecurity框架!
使用Springsecurity搭建授权认证表是一种常见的做法,可以实现对系统中的用户进行身份验证和权限管理。
在搭建授权认证表之前,我们需要明确需求和目标。我们的Java作业自动审批平台
编写授权认证表的目的是为了实现用户身份验证和相关权限管理的功能。具体来说,我们需要实现以下需求:
在开始搭建授权认证表之前,我们需要设计数据库表结构来存储用户信息和权限信息(遵循RBAC模型)。
关系图如下:
依据上图,我们设计以下表
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;
CREATE TABLE role ( rid INT ( 10 ) PRIMARY KEY AUTO_INCREMENT COMMENT '角色表主键', role_name VARCHAR ( 50 ) COMMENT '角色名' ) ENGINE = INNODB;
CREATE TABLE permission (pid INT ( 10 ) PRIMARY KEY AUTO_INCREMENT COMMENT '权限id',permission_name VARCHAR ( 50 ) COMMENT '权限名',url VARCHAR ( 100 )) ENGINE = INNODB;
CREATE TABLE admin_role ( aid INT ( 10 ), rid INT ( 10 ), PRIMARY KEY ( aid, rid ) );
CREATE TABLE role_permission ( rid INT ( 10 ), pid INT ( 10 ), PRIMARY KEY ( rid, pid ) ) ENGINE = INNODB;
在项目中引入Springsecurity,这里不需要指定版本,因为SpringBoot的依赖管理采用了约定大于配置
的思想,将Springsecurity注册到了SpringBoot维护的版本仓库中,所以这里的Springsecurity版本和SpringBoot版本是一致的。
<dependency> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-starter-securityartifactId> dependency>
并进行相应的配置。主要配置包括:
在系统中实现用户注册和登录的功能,包括以下步骤:
这里需要注意几点:用户注册和登录的前端页面名字和跳转路径需要提前指定好,所以这里需要和前端工程师约定好!!!
在系统中实现权限管理的功能,包括以下步骤:
创建角色和权限的管理页面,用于添加、编辑和删除角色和权限信息。
在数据库中维护角色表和权限表,并建立角色和权限之间的关联关系。
配置Springsecurity的权限管理,将系统中定义的角色和权限映射到Springsecurity的配置中。
根据用户的角色信息,控制用户在系统中的操作权限。
如果说我比别人看得要远一点,那是因为我站在巨人的肩上。
——牛顿
这是文章的最后了,你有收获嘛?
为了让大家更好地学习SpringSecurity
框架,狮子特地向清华社申请了《Spring Security实战》一书,
是一本关于 Spring Security 的应用指南,主要讲解了 Spring Security 的基础知识点、核心概念,以及围绕身份验证和授权过程的关键处理流程。
书籍目录如下:
某东原价 122元,现在免费赠书三本
,详情如下:
🦁 送书抽奖活动 🦁
活动时间: 截止到2023-10-24 20: 00 参与方式: 点赞、收藏本文章,并任意评论” 抽奖时间: 2023.10.24 公布时间: 2023.10.24 通知方式:交流群内公布或私信通知
🌟《Java核心系列(修炼内功,无上心法)》: 主要是JDK源码的核心讲解,几乎每篇文章都过万字,让你详细掌握每一个知识点!
🌟 《springBoot 源码剥析核心系列》:一些场景的Springboot源码剥析以及常用Springboot相关知识点解读
欢迎加入狮子的社区:『Lion-编程进阶之路』,日常收录优质好文
更多文章可持续关注上方🦁的博客,2023咱们顶峰相见!
来源地址:https://blog.csdn.net/m0_58847451/article/details/133778235
--结束END--
本文标题: 【Java作业自动审批平台】| 后台管理认证授权表实现整体设计
本文链接: https://lsjlt.com/news/430735.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-01
2024-04-03
2024-04-03
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0