遂川县城乡建设局网站/百度搜索网站排名
智能2112杨阳
一、目的与要求:
1、设计用户子模式
2、根据实际需要创建用户角色及用户,并授权
3、针对不同级别的用户定义不同的视图,以保证系统的安全性
二、内容:
- 先创建四类用户角色:
管理员角色Cusm、客户角色Supp、供货商角色Admin、商家销售工作人员角色Salor。
源码:
create role 'Cusm';
create role 'Supp';
create role 'Admin';
create role 'Salor';
- 创建客户视图、供货商视图
(1)客户视图要求显示所有客户号及对应客户下的所有订单及每个订单的价格
源码:
create view view_Supp as select customers.c_id,orders.o_num,orderitems.item_price from customers,orders,orderitems where customers.c_id=orders.c_id and orderitems.o_num=orders.o_num;
效果:
(2)供货商视图要求显示所有供货商号及供货商所供水果信息
源码:
create view view_Admin as select suppliers.s_id,fruits.f_id,fruits.f_name,fruits.f_price from suppliers,fruits where fruits.s_id=suppliers.s_id;
效果:
3.为以上四类用户角色授予合适的权限,要求:
(1)管理员拥有所有权限:
源码:
grant all on fruitshop.* to 'Cusm';
(2)客户只能查看与之相关的信息(基本信息,购买信息)
源码:
grant select on view_Supp to 'Supp';
(3)供货商只能查看与之相关的信息(可以查看自己供货的水果信息)。
源码:
grant select on view_Admin to 'Admin';
(4)商家销售工作人员可以查看数据库并录入信息,但不能修改、删除;
源码:
grant select,insert on fruitshop.* to 'Salor';
- 为每类用户角色至少创建一个用户(新建用户并分配对应的角色,统一设置初始密码为’123456’)
注意:附上源码,创建用户并授权成功后在交互式运行状态下查看每个用户权限并截图
客户用户:C001,任意主机地址,授权为客户角色的所有权限;
供货商用户:S001,任意主机地址,授权为供货商角色的所有权限;;
商家销售工作人员用户:B001,任意主机地址,授权为销售工作人员角色的所有权限;;
管理员用户:A001,本机,拥有所有权限
源码:
create user 'C001'@'%' identified by '123456';
grant Supp to 'C001';
create user 'S001'@'%' identified by '123456';
grant Admin to 'S001';
create user 'B001'@'%' identified by '123456';
grant Salor to 'B001';
create user 'A001'@'localhost' identified by '123456';
grant all on fruitshop.* to 'A001'@'localhost'
5.测试:
退出已用root账号登陆的MySQL服务器,用这四类用户帐号分别登陆MySQL服务器并测试其功能(在交互式运行状态下测试,先附上测试源码,关键结果截图)。
测试要求:退出root帐号,重新登陆指定帐号,显示当前数据库中所有表,查看权限内某张表内的所有信息,对权限内某张表进行增、删、改、查操作并查看能否正确执行这些操作,如果执行错误请说明导致此错误的原因。
注意:每次登录后先设置当前角色,否则无效果:set role 角色名;
测试客户用户:
mysql -uC001 -p123456;
set role Supp;
use fruitshop;
show tables;
slect* from `view_supp`;
update view_supp set c_address="第五社区",c_city="厦门",c_zip=111000,c_contact="cxr",c_email="123@678" where c_id=10000;
insert into view_supp values(01,"AAA","BBB","CCC",111,"123@321");
delete from view_supp.c_zip;
显示表:
Select操作:
Update操作:
原因:无权限
Insert操作:
原因:无权限
Delete操作:
原因:无权限
测试供货商用户:
mysql -uS001 -p123456
se role Admin;
use fruitshop;
show tables;
select* from `view_Admin`;
update view_Admin set s_city="Beijing",s_zip=111000,s_call=23333 where s_id=100;
insert into view_Admin values(01,"AAA","BBB",111,222);
delete from view_Admin.s_zip;
显示表:
Select操作:
Update操作:
原因:无权限
Insert操作:
原因:无权限
Delete操作:
原因:无权限
测试商家销售工作人员用户:
mysql -uB001 -p123456
set role Salor;
use fruitshop;
show tables;
select* from suppliers;
update suppliers SET s_name="Sariel",s_city="Shanghai",s_zip=520000,s_call=777777 where s_id=107;
insert into suppliers values(108,"Sariel","GQ City",520000,777777);
delete from suppliers.s_name;
显示表:
Select操作:
Update操作:
原因:无权限
Insert操作:
Delete操作:
原因:无权限
测试管理员用户:
mysql -uA001 -p123456
use fruitshop;
show tables;
select* from customers;
update customers set c_name="Evan",c_address="WZ Mall",c_city="Shenzhen",c_zip=521000,c_contact=666666,c_email="LU@666" where c_id=10003;
insert into customers values(10005,"Charlie","NOVATEN INC","GQ City",233333,555555,"love@sweety");
delete from customers where c_id=10000;
显示表:
Select操作:
Update操作:
Insert操作:
Delete操作:
原因:c_id具有外键约束
三、小结
1.遇到的问题及解决过程
a. 用户权限设置问题:通过创建视图,让用户获得部分对视图操作的权限
b. 用户账号切换问题:命令行quit退出,重新输入账号密码进行登录
c. 角色与用户权限问题:学习相关语法,让用户获得角色的权限
- 产生的错误及原因分析
在测试用户的增删改查时,不能完成增删改查功能
原因:未授权,c_id的相关语句具有外键约束
- 体会和收获。
通过本次博客,对数据库进行一些列操作,掌握参照完整性约束、设计用户子模式等功能,并且根据实际需要创建了不同的用户授以不同的权限,以此来针对不同级别的用户定义不同的视图,保证了系统的安全性。同时在这个过程中有遇到很多的问题与错误,但是都在不断的实验与互联网的帮助下解决了出现的问题与错误。感受到即使是表面上看上去很简单的题目,要去实践也会遇到很多不容易解决的问题与错误。总的来说收获满满。
相关文章:

数据库——安全性
智能2112杨阳 一、目的与要求: 1、设计用户子模式 2、根据实际需要创建用户角色及用户,并授权 3、针对不同级别的用户定义不同的视图,以保证系统的安全性 二、内容: 先创建四类用户角色: 管理员角色Cusm、客户角…...

Vue路由跳转重定向动态路由VueCli
Vue路由跳转&重定向&动态路由&VueCli 一、声明式导航-导航链接 1.需求 实现导航高亮效果 如果使用a标签进行跳转的话,需要给当前跳转的导航加样式,同时要移除上一个a标签的样式,太麻烦!!! …...

mysql 当前时间加3个工作日
1. 问题描述: 在日常工作中可能会遇到计算工作日的情况 2. 解决过程 (1) 首先制作一个假日表 holiday_config CREATE TABLE holiday_config (id int(10) NOT NULL AUTO_INCREMENT,holiday varchar(8) DEFAULT NULL,PRIMARY KEY (id) USING BTREE ) ENGINEInnoDB…...

2023年11月国产数据库大事记-墨天轮
本文为墨天轮社区整理的2023年11月国产数据库大事件和重要产品发布消息。 11月国产数据库大事记 TOP10 11月国产数据库大事记(时间线) 11月1日消息,近日,由金仓数据库支撑的某大型运营商B域一级BOSS枢纽系统顺利升级上线。金仓数…...

第二十八章 控制到 XML 模式的映射 - 流类到 XML 类型的映射
文章目录 第二十八章 控制到 XML 模式的映射 - 流类到 XML 类型的映射将集合属性映射到 XML 模式 第二十八章 控制到 XML 模式的映射 - 流类到 XML 类型的映射 如果类或属性基于流,则它将投影为 XML 类型,如下表所示: IRIS 流的 XML 类型 …...

GO EASY 游戏框架 之 GRPC 扩展篇 04
1 Overview 此章节是对第三章的一个补充。同样属于RPC的篇章。是专门为了类似游戏服务这种需要指定RPC服务端具体地址,也就是具体是哪台机器的某应用进程,通信的方式。笔者简单的封装了下保证基本的服务稳定,且具备服务发现的属性即可&#…...

【JavaScript】JavaScript中的GC算法
1、内存管理 内存:由可读写单元组成,标识一片可操作的空间 管理: 认为的去操作一篇空间的申请、使用和释放 内存管理:开发者主动申请空间、使用空间、释放空间 管理流程: 申请-使用-释放 // 申请 let obj {} //使…...

从互联网到云计算再到 AI 原生,百度智能云数据库的演进
1 数据库行业发展概述 如果说今年科技圈什么最火,我估计大家会毫不犹豫选择 ChatGPT。ChatGPT 是 2022 年 11 月 30 日由 OpenAI 发布的聊天应用。它创造了有史以来用户增长最快的纪录:自 11 月 30 日发布起,5 天就拥有了 100 万活跃用户…...

C# | CountdownEvent使用教程 (通过与ManualResetEvent对比,快速了解其特性)
C# CountdownEvent使用教程 对于熟悉ManualResetEvent的同学来说,了解CountdownEvent的差异对于更好地利用它们是非常重要的。通过对ManualResetEvent和CountdownEvent的对比,我们可以更好地理解CountdownEvent的特点和使用场景。 ManualResetEvent回顾…...

2、LLVM 函数名称加密 及3种PASS的实现
sudo usermod -a -G vboxsf nowind nowind是你的虚拟机登录的用户名解决virtualbox 虚拟机共享文件夹不能使用的问题 第一种:源码内实现pass: 实现EncodeFunctionName 的pass,核心代码如下 相关文件的修改: 因为后面同样用到…...

Python网络爬虫的基础理解-对应的自我理解误区
##通过一个中国大学大学排名爬虫的示例进行基础性理解 以软科中国最好大学排名为分析对象,基于requests库和bs4库编写爬虫程序,对2015年至2019年间的中国大学排名数据进行爬取:(1)按照排名先后顺序输出不同年份的前10…...

基于ssm的家庭财务管理系统设计与实现论文
摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本家庭财务管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息…...

前端知识(八)———前端需要掌握的技术有哪些方面
前端开发需要掌握的技术包括以下几个方面: 1.HTML:HTML是网页的基础骨架,是网页内容的载体,负责网页内容的排列和布局。 2.CSS:CSS是网页的样式表,负责网页的外观和样式。 一般情况下HTMLCSS是在一起使用…...

【九】spring、springmvc、springboot、springcloud
spring、springmvc 、springboot 、springcloud 简介 从事IT这么些年,经历了行业技术的更迭,各行各业都会有事务更新,IT行业技术更迭速度快的特点尤为突出,或许这也是从事这个行业的压力所在,但另一方面反应了这个行业…...

Core Web Vitals 是排名因素吗?
Core Web Vitals 会影响您的自然搜索排名吗?在本文中,我们将研究索赔、证据和判决。 Core Web Vitals 衡量页面体验信号,以确保为搜索用户提供引人入胜的用户体验。 但是 Core Web Vitals 会影响您的自然搜索排名吗? 声明&…...

“蒙企通”线上平台升级 助力内蒙古自治区民营经济发展
为进一步落实《中共中央、国务院关于促进民营经济发展壮大的意见》和内蒙古自治区党委、政府《关于进一步支持民营经济高质量发展的若干措施》,内蒙古自治区发展改革委联合自治区工商联共同开展“自治区促进民营经济发展项目”,为民营经营主体拓展市场、…...

电商早报 | 12月13日| 2023胡润男企业家榜发布:黄铮位于第三
2023胡润男企业家榜发布:拼多多创始人跻身前三 12月12日消息,胡润研究院发布《2023胡润男企业家榜》,列出了胡润百富榜中前50名中国男性企业家,总财富6.37万亿元,上榜门槛640亿元。 这是胡润研究院首次发布“男企业家…...

Terraform实战(二)-terraform创建阿里云资源
1 初始化环境 1.1 创建初始文件夹 $ cd /data $ mkdir terraform $ mkdir aliyun terraform作为terraform的配置文件夹,内部的每一个.tf,.tfvars文件都会被加载。 1.2 配置provider 创建providers.tf文件,配置provider依赖。 provider…...

ELADMIN - 免费开源 admin 后台管理系统,基于 Spring Boot 和 Vue ,包含前端和后端源码
一款简单好用、功能强大的 admin 管理系统,包含前端和后端源码,分享给大家。 ELADMIN 是一款基于 Spring Boot、Jpa 或 Mybatis-Plus、 Spring Security、Redis、Vue 的前后端分离的后台管理系统。 ELADMIN 的作者在 Github 和 Gitee 上看了很多的项目&…...

Centos安装docker显示 No Package Docker-Ce Available
安装docker 查看当前系统内核 查看方式 uname -r显示如下 [root@test ~]# uname -r 3.10.0-1127.19.1.el7.x86_64重要提示: docker内核版本必须是3.10+以上的版本 1、卸载老版本的 docker 及其相关依赖 yum remove docker docker-common container-selinux docker-selin…...

如何使用玻璃材质制作3D钻石模型
在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时,有几种不同的风格…...

工具:Jupyter
Jupyter是一个开源的交互式计算环境,由Fernando Perez和Brian Granger于2014年创立。它提供了一种方便的方式来展示、共享和探索数据,并且可以与多种编程语言和数据格式进行交互。Jupyter的历史可以追溯到2001年,当时Fernando Perez正在使用P…...

即时通讯技术文集(第27期):实时音视频技术合集(Part2) [共17篇]
为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第27 期。 [- 1 -] 专访微信视频技术负责人:微信实时视频聊天技术的演进 [链接] http://www.52im.net/thread-1201-1-1.html [摘要] 本次专访…...

synchronized关键字的使用和原理
synchronized关键字的使用和原理 synchronized:对象锁,保证了临界区内代码的原子性,采用互斥的方式让同一时刻至多只有一个线程能持有对象锁,其它线程获取这个对象锁时会阻塞,保证拥有锁的线程可以安全的执行临界区内…...

【PHP】php发送邮箱验证码格式美化,样式美化
效果展示: 格式美化前 格式美化后 代码 大多数框架都自带有封装好的发送email方法,就不多赘述,主要写格式: <? php// 验证码过期时间 $expire 120; // 发件人邮箱 $from_email xx163.com; // 收件人 $to_email to163.com…...

【EI会议征稿中】2024年第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024)
2024年第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024) 2024 4th International Conference on Artificial Intelligence, Automation and High Performance Computing 2024第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024)将于20…...

数据库设计规范编制文档
本文的目的是提出针对Oracle数据库的设计规范,使利用Oracle数据库进行设计开发的系统严格遵守本规范的相关约定,建立统一规范、稳定、优化的数据模型。 参照以下原则进行数据库设计: 1) 方便业务功能实现、业务功能扩展; 2) 方便设…...

RocketMq集成SpringBoot(待完善)
环境 jdk1.8, springboot2.7.3 Maven依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.3</version><relativePath/> <!-- lookup parent from…...

刚学Python有点难怎么办?这是好事啊!
对于像我一样非计算机专业出身的学生,每当我们想自学一些编程技能的时候,就感觉困难重重,思考坚持下去有没有意义,因此我总结了以下7个小Tips,这些Tips曾经帮助我合理地安排时间,让自学Python的节奏保持起来…...

LNMP网站架构分布式搭建部署
1. 数据库的编译安装 1. 安装软件包 2. 安装所需要环境依赖包 3. 解压缩到软件解压缩目录,使用cmake进行编译安装以及模块选项配置(预计等待20分钟左右),再编译及安装 4. 创建mysql用户 5. 修改mysql配置文件,删除…...