
什么样的权限?菜单权限?
一般用户表,角色表,模块表(或者菜单啊反正是你要权限的东西),然后角色和模块的表
这是最简单的结构,用户关联角色,角色关联模块,用角色去控制权限,增删改查什么的模块表呢,就是你要控制的东西,比菜单,根据登录人的角色,看有哪些模块,然后显示这些模块其他的模块隐藏。
如果需要复杂的东西,中间可以加别的东西,具体看你需求了
至于字段,用户和角色就没什么可说的,无法就是名字啊什么的
模块表也简单,比如模块名称,ID,父子模块id(如果有父子模块的话),具体字段还是要看需求。
授权与权限管理属于数据库安全机制中的自主存取控制。根据查询相关资料显示,授权与权限管理属于数据库安全机制中的自主存取控制。自主存取控制是指以人为主体,用户可以自由地决定将数据的存取权限授予何人,并决定是否允许权限的传播。
一般创建用户用的是create user,然后再通过grant赋权。 创建:create user XXXX identified by xxxxx; 赋权:grant connect,resource,XXXXXX to XXXXXX; (具体权利查询dba_sys_privs)
授权。数据库中对访问权限的定义称为授权,外部数据库,使用SQL语句设置访问权限,权限管理是eHR系统的全局性管理模块,与各业务模块之前都存在着紧密的关联关系。设计权限管理模块时,既要考虑到能够实现对用户权限的灵活配置,又要兼顾到用户权限应用到各业务模块时,从技术实现上的数据读取效率。
Oracle数据库是一种大型关系型的数据库 我们知道当使用一个数据库时 仅仅能够控制哪些人可以访问数据库 哪些人不能访问数据库是无法满足数据库访问控制的 DBA需要通过一种机制来限制用户可以做什么 不能做什么 这在Oracle中可以通过为用户设置权限来实现 权限就是用户可以执行某种 *** 作的权利 而角色是为了方便DBA管理权限而引入的一个概念 它实际上是一个命名的权限集合
权限
Oracle数据库有两种途径获得权限 它们分别为
① DBA直接向用户授予权限
② DBA将权限授予角色(一个命名的包含多个权限的集合) 然后再将角色授予一个或多个用户
使用角色能够更加方便和高效地对权限进行管理 所以DBA应该习惯于使用角色向用户进行授予权限 而不是直接向用户授予权限
Oracle中的权限可以分为两类
系统权限
对象权限
系统权限
系统权限是在数据库中执行某种 *** 作 或者针对某一类的对象执行某种 *** 作的权利 例如 在数据库中创建表空间的权利 或者在任何模式中创建表的权利 这些都属于系统权限 在Oracle i中一共提供了 多种权限
系统权限的权利很大 通常情况下
① 只有DBA才应当拥有alter database系统权限 该权限允许用户对数据库物理结构和可用性进行修改
② 应用程序开发者一般应该拥有Create Table Create View和Create Type等系统权限 用于创建支持前端的数据库模式对象
③ 普通用户一般只具有Create session系统权限(可以通过Connection角色获得) 只有Create Session系统权限的用户才能连接到数据库
④ 只有具有Grant Any PRivilege系统权限用户 或者获取了具有With Admin Option选项的系统权限的用户 才能够成为其它用户授予权限
对象权限
对象权限是针对某个特定的模式对象执行 *** 作的权利 只能针对模式对象来设置和管理对象权限
对于模式对象 表 视图 序列 存储过程 存储函数 包都可以对象设置权限 不同类型模式对象具有不同的对象权限 比如 表 视图等对象具有查询(Select) 修改(Update) 删除(Delete)等对象权限 而存储过程 存储函数等对象则具有执行(Execute)等对象权限
但是并不是所有的模式对象都可以设置对象权限 比如簇 索引 触发器以及数据库链接等模式就不具有对象权限 这些模式对象的访问控制是通过相应的系统权限来实现的 比如 要对索引进行修改 必须拥有Alter Any Index系统权限
用户自动拥有他的模式中所有对象的全部对象权限 他可以将这些对象权限授予其他的用户或角色 比如 Test 用户创建了一个表Table 在没有授权的情况下 用户Test 不能查询 修改 删除这个表 如果Test 将ETP表的Select对象权限授予了Test 则该用户就可以查询 Table 表了 如果在为其它用户授予对象权限时用了With Grant Option选项 被授予权限的用户还可以将这个权限在授予其他用户
角色
角色的概念
角色就是多个相关权限的命名集合 通过角色来进行对用户授予权限 可以大大简化DBA的工作量 比如 处于统一部门中的 多个用户都需要访问数据库中的一系列表 DBA可以将这些表的中合适的对象权限授予一个角色 然后在把这个角色授予这些用户 这样进行 *** 作要比为没有用户进行授权要便捷多了 而且要对这些用户的权限进行统一修改 只需要修改角色的权限即可
角色的优点
通过角色为用户授予权限 而不是直接向各个用户授权 具有以下优点
简化权限管理 DBA将用户群分类 然后为每一类用户创建角色 并将该角色授予这类用户所需要的权限 最后在将改角色授予该类中的各个用户 这样不仅简化了授权 *** 作 而且当这类用户的权限需求发生改变时 只需要把角色的权限进行改动 而不必修改每一位用户的权限
动态权限管理 角色可以被禁用或激活 当角色被禁止使用时 拥有该角色的用户不再拥有授予改角色的权限了 这样就可以对多个用户的权限进行动态控制了
灵活的编程能力 角色是存储在数据字典中的 并且可以为角色设置口令 这样就能够在应用程序中对角色进行控制 比如禁用或者激活等 *** 作
下面以Oracle i为例 给出具体的实现用户授权
( )设定各种角色 及其权限
CREATE ROLE checkerrole DENTIFIEDBYxm ;
CREATE ROLE defaultrole IDENTIFIEDBYdefaultrole;
GRANT SELECT UPDATE ON
account paytable TO checkerrole;
GRANT CONNECT TO defaultrole;
( )创建用户
CREATE USER xiaoli IDENTIFIEDBY xiaoli;
( )授权
GRANT checkerrole TO xiaoli;
GRANT defaultrole TO xiaoli;
( )设定用户缺省的角色
ALTER USER xiaoli DEFAULTROLE defaultrole;
( )注册过程
CONNECT xiaoli/xiaoli@oracle
此时用户只有其缺省角色的权限
( )激活角色
SET ROLE checkerrole IDENTIFIEDBY xm ;
— *** 作成功后 xiaoli拥有checkerrole的权限
lishixinzhi/Article/program/Oracle/201311/18359
首先打开数据库,并以windows身份验证模式_牢固数据库;
然后在左侧的对象资源管理器中展开安全性节点,鼠标右键点击节点中的登录名,在d出的菜单中单击新建登录名
1在登录名右侧的文本框中输入新建的管理员账号名称;
2一对单选按钮组中,选择SqlServer身份验证,并输入登录密码;
3勾选强制实施密码策略复选框;(密码策略一般是指加强用户登录的密码方式例如:可能需要至少8个以上字符,或在尝试若干登陆失败后该账号即被禁止登陆等等!如果觉得麻烦可以不必勾选!)。
4不勾选强制密码过期;(如果勾选该项的话,则每一次登陆后系统都会提示用户必须更改现有密码,如非特殊需求,不建议勾选此项!)。
然后继续点选左侧选项页下的服务器角色;
在右侧的服务器角色面板中,勾选public和sysadmin两项!
注意:如果建立的账号不需要具备系统管理员的权限时,则不要勾选sysadmin项!
继续点选左侧选项页中的用户映射。
在右侧的面板中勾选该账号可以进行管理 *** 作的数据库名称!并在该面板下面的数据库角色成员身份中勾选db_owner项!
注意:如果给一个无系统管理权限的账号指定管理一个数据库时,则一定要勾选db_owner项!否则该账号则无法看到该数据库中的任何数据表!
选后点选选择页下的状态选项进行设置
DCL 语句主要是DBA 用来管理系统中的对象权限时所使用的,一般的开发人员很少使用。
示例:创建只能本地登录(localhost)的账号zhangsan,密码为mypass
创建用户并授权,语法格式(80以前版本):
示例:
80以前版本创建用户授权一步到位。
80以后的版本,创建用户后,再进行授权 *** 作。
格式:
示例:
有两种方式查看。
第一种方式:
第二种方式:
g 相当于’;’
G使每个字段打印到单独的行,也有’;’的作用
只能查出哪个数据库的哪张表的权限,如查userwordpress在mysql数据库的user表的权限,显示都是N(no),没有权限,如果查root用户就都是Y(yes)选择了。
修改密码的两种方式:
1)Alter user
2)set password
3)80以前版本grant,80以后版本无法使用
修改host,访问IP:
以上就是关于怎么设计用户权限管理系统数据库要用到哪几张表每张表有哪些字段全部的内容,包括:怎么设计用户权限管理系统数据库要用到哪几张表每张表有哪些字段、授权与权限管理属于数据库安全机制中的哪一种、oracle怎么设置数据库的权限管理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)