网站数据库表字段的访问权限如何控制

网站数据库表字段的访问权限如何控制,第1张

个人觉得提的问题范围有些大,如果只针对案例要解决这个问题很简单,只需要设置部门,个人的使用权限即可,权限都是叠加的,比如A员工只能查看A部门的工资,只需将A部门权限给a员工即可,部门隶属权限都具备了这都不是问题了

如果是企业级系统涉及多模块及业务数据的权限控制的话,就需要设计独立的数据权限模块才能做到架构层面解决了,可对表级设置权限策略

建议通过phpMyAdmin 来设置数据库用户的权限。phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。

一、首先您需要在服务器上安装配置 phpMyAdmin。

安装比较复杂,详见>

二、创建用户(如之前已经创建好用户,可以省略这一步)

点击“添加新用户”这个连接,添加一个新的数据库用户名;

三、权限设置

编辑刚刚创建的用户的权限(如下图所示)

四、重新加载授权表

修改完用户权限以后需要回到 phpMyAdmin 的首页,重新加载一下授权(如下图)即可。

1,要授予的权限

2,被授予访问权限的数据库或表

3,用户名

grant和revoke可以在几个层次上控制访问权限

1,整个服务器,使用 grant ALL 和revoke ALL

2,整个数据库,使用on database

3,特点表,使用on databasetable

4,特定的列

5,特定的存储过程

oracle可以通过设置表的权限来设定用户对表的访问权限。

通过dba权限用户或者表的拥有者用户来设定相关权限。

基本的权限主要有三个,select,update和delete

其实还有一个alter权限,不过这个权限不建议授予,这个还是掌握在dba手中比较好。不然将来会很麻烦。

授权语句大同小异,只是dba授权的话,需要加上表的所属用户。

举例:比如要把aaa用户下的a表,授予bbb用户。dba用户为ccc

那么用aaa用户的授权语句为

grant select on a to bbb;

使用ccc用户的授权语句为

grant select on aaaa to bbb;

其他的update,和delete只要把select 替换就好。

当然如果三个权限都想授予。那么可以考虑grant all on a to bbb;

用户在具有了访问数据库的权限之后,就可以授予其访问数据库对象的权限了。可授予对象的权限包括以下几种:

�8�5 �8�5 SELECT

允许用户对表或视图发出SELECT语句。

�8�5 �8�5 INSERT

允许用户对表或视图发出INSERT语句。

�8�5 �8�5 UPDATE

允许用户对表或视图发出UPDATE语句。

�8�5 �8�5 DELETE

允许用户对表或视图发出DELETE语句。

�8�5 �8�5 EXECUTE

允许用户对存储过程发出EXECUTE语句。

你的mysql数据库里面有一个数据库,名字教做mysql,里面有个表,名字叫做user,你看一下这个表的结构和现有数据,你就知道应该怎么做了,比如你可以添加一条数据,host为你指定的ip,user可以是%,password就不管了,后面设置相应的权限(可以全部都是y),这样那个机器无论用什么用户和密码都可以连接数据库,而拥有你指定的权限。

耐心点吧,我相信你一看就明白。

你的mysql数据库里面有一个数据库,名字教做mysql,里面有个表,名字叫做user,你看一下这个表的结构和现有数据,你就知道应该怎么做了,比如你可以添加一条数据,host为你指定的ip,user可以是%,password就不管了,后面设置相应的权限(可以全部都是y),这样那个机器无论用什么用户和密码都可以连接数据库,而拥有你指定的权限。

耐心点吧,我相信你一看就明白。

1

-- SQLServer:

一、 *** 作步骤

首先进入数据库级别的安全性-登录名-新建登录名

(图1:新建登录名)

2 在常规选项卡中,如下图所示,创建登陆名,并设置默认的数据库。

(图2:设置选项)

3 在用户映射选项卡中,如下图所示,勾选需要设置的数据库,并设置架构,点击确认按钮,完成创建用户的 *** 作

(图3:选择对应数据库)

4 现在我们就可以对TestLog数据库中的User表进行权限的设置了,表- 属性

(图4:选择对应表)

5 在权限选项卡中,如下图所示,依此点击添加-浏览-选择对象

(图5:设置访问表的用户)

6 在上面点击确认后,我们就可以下面的列表中找到对应的权限,如果你还想细化到列的权限的话,右下角还有一个列权限的按钮可以进行设置,点击确认按钮就完成了这些权限的设置了

(图6:权限列表)

7 现在就使用TestUser用户登陆数据库了,登陆后如下图所示,现在只能看到一个表了

(图7:效果)

二、注意事项

在上面的第3步骤中需要注意:如果这里没有选择对应的数据库的话,之后去TestLog数据库中是找不到TestUser。

(图8:找不到TestUser用户)

2 在上面的第3步骤,设置完TestLog数据后,需要点击确认按钮,完成创建用户 *** 作,如果这个时候去设置安全对象,是无法在添加-特定对象-对象类型-登陆名-浏览中找到刚刚新建的TestUser用户的。

3 其实在数据库级别的安全性创建的用户是属于全局的,当设置了某个数据库,比如TestLog之后,这个用户就会出现在这个数据库的安全性列表中。 如果删除TestLog这个用户,会出现下面的提示。删除了后,这个用户就无法登陆了。需要去对应的数据库中删除用户,如果没有删除又创建,是会报错的。

(图9:删除TestUser用户)

4 在第6步的显式权限列表中,如果选择了Control这个选项,那么在Select中设置查询列权限就没有意义了,查询就不会受限制了。如果设置列权限,在正常情况下会显示下图的报错信息:

(图10:效果)

5 在TestLog数据库的安全性-TestUser-属性-安全对象-添加-对象类型这里有更多关于数据库级别的一些对象类型可以设置。

以上就是关于网站数据库表字段的访问权限如何控制全部的内容,包括:网站数据库表字段的访问权限如何控制、如何更改mysql数据库用户权限、如何对Oracle10g数据库设置用户对表的访问权限。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9290570.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存