`
LJ你是唯一LT
  • 浏览: 244044 次
社区版块
存档分类
最新评论

用户+角色+权限

阅读更多
角色与用户权限的学习

1.说明
oracle用户:每个Oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。
Oracle角色(role)就是一组权限(privilege)。
               用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。
数据库系统权限(Database System Privilege)允许用户执行特定的命令集。
               例如,CREATE TABLE权限允许用户创建表,GRANT ANY PRIVILEGE权限允许用户授予任何系统权限。
数据库对象权限(Database Object Privilege)使得用户能够对各个对象进行某些操作。
               例如DELETE权限允许用户删除表或视图的行,SELECT权限允许用户通过select从表、视图、序列(sequences)或快照(snapshots)中查询信息。


2.创建、删除用户和角色
1)系统用户:
sys/change_on_install  (后面是默认密码)
system/manager
scott/tiger

创建用户:
create user username identified by password default tablespace tbsname temporary tablespace tempspacename;

修改密码:
alter user username identified by newpassword;

删除用户:
drop user username CASCADE;


2)系统角色:
CONNECT自动建立,包含以下权限:ALTER SESSION、CREATE CLUSTER、CREATE DATABASELINK、CREATE SEQUENCE、CREATE SESSION、CREATE SYNONYM、CREATE TABLE、CREATEVIEW。
RESOURCE自动建立,包含以下权限:CREATE CLUSTER、CREATE PROCEDURE、CREATE SEQUENCE、CREATE TABLE、CREATE TRIGGR。

创建自定义角色:
create role rolename;

给角色或者用户授权:
1. grant(授权)命令     grant connect, resource to rolename/username;
2. revoke(撤消)权限    revoke connect, resource from rolename/username;

删除角色:
drop role rolename;

3.有关权限和角色的视图:
all_tab_privs               描述表权限,这些权限的授予者是当前用户或者public
all_tab_privs_made          描述当前用户所做的,或者在当前用户所拥有的对象上的对象授权
all_tab_privs_recd          描述对象授权,这些授权的被授予者是当前用户或者public

dba_role_privs              授予给用户或角色的角色权限
dba_sys_privs               授予给用户或角色的系统权限
dba_tab_privs               数据库中所有表的授权
dba_col_privs               用户所拥有的列权限

user_tab_privs              列出当前用户是其被授予者所有对象的授权
user_tab_privs_made         列出在当前用户所拥有的所有对象上的授权
user_role_privs             授予给当前用户的角色权限
user_sys_privs              授予给当前用户的系统权限
user_tab_privs_made         列出在当前用户所拥有的所有对象上的授权
user_tab_privs_recd         描述对象授权,这些授权的被授予者是当前用户

role_role_privs             授予给其他角色的角色,只是该用户可以访问的角色信息
role_sys_privs              授予给角色的系统权限的信息,提供的只是该用户可以访问的信息
role_tab_privs              授予给角色的对象权限的信息,提供的只是该用户可以访问的信息
session_privs/roles         用户当前激活的权限和角色

4.具体使用范例
1)查询用户的系统权限:
SQL> desc dba_sys_privs        
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
GRANTEE                                   NOT NULL VARCHAR2(30)
PRIVILEGE                                 NOT NULL VARCHAR2(40)
ADMIN_OPTION                                       VARCHAR2(3)

SQL> select grantee,privilege,admin_option from dba_sys_privs where grantee='TINA'; --grantee表示被授予者
GRANTEE        PRIVILEGE ADM
------------------------------ ----------------------------------------
TINA        UNLIMITED TABLESPACE NO 

2)查看用户所拥有的表的权限:
SQL> desc dba_tab_privs
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
GRANTEE                                   NOT NULL VARCHAR2(30)
OWNER                                     NOT NULL VARCHAR2(30)
TABLE_NAME                                NOT NULL VARCHAR2(30)
GRANTOR                                   NOT NULL VARCHAR2(30)
PRIVILEGE                                 NOT NULL VARCHAR2(40)
GRANTABLE                                          VARCHAR2(3)
HIERARCHY                                          VARCHAR2(3)


3)查询一个用户所拥有的角色
SQL> desc dba_role_privs
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
GRANTEE                                            VARCHAR2(30)
GRANTED_ROLE                              NOT NULL VARCHAR2(30)
ADMIN_OPTION                                       VARCHAR2(3)
DEFAULT_ROLE                                       VARCHAR2(3)
SQL> select GRANTEE,GRANTED_ROLE,ADMIN_OPTION,DEFAULT_ROLE from dba_role_privs where GRANTEE='TINA';

GRANTEE        GRANTED_ROLE       ADM DEF
------------------------------ ------------------------------ --- ---
TINA        DBA       NO  YES

一共有17中对象权限
SQL> select distinct privilege from dba_tab_privs;
PRIVILEGE
----------------------------------------
EXECUTE
FLASHBACK
DEQUEUE
ON COMMIT REFRESH
ALTER
DELETE
UPDATE
DEBUG
QUERY REWRITE
SELECT
USE
READ
INSERT
INDEX
WRITE
REFERENCES
MERGE VIEW

17 rows selected.

4)查询一个角色所具有的系统权限:
SQL> desc role_sys_privs        
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
ROLE                                      NOT NULL VARCHAR2(30)
PRIVILEGE                                 NOT NULL VARCHAR2(40)
ADMIN_OPTION                                       VARCHAR2(3)

SQL> select ROLE,PRIVILEGE,ADMIN_OPTION from role_sys_privs where role='RESOURCE';

ROLE                           PRIVILEGE                                ADM
------------------------------ ---------------------------------------- ---
RESOURCE                       CREATE SEQUENCE                          NO
RESOURCE                       CREATE TRIGGER                           NO
RESOURCE                       CREATE CLUSTER                           NO
RESOURCE                       CREATE PROCEDURE                         NO
RESOURCE                       CREATE TYPE                              NO
RESOURCE                       CREATE OPERATOR                          NO
RESOURCE                       CREATE TABLE                             NO
RESOURCE                       CREATE INDEXTYPE                         NO

8 rows selected.

5)查询当前用户可以访问的所有的数据字典视图
SQL> desc dict
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
TABLE_NAME                                         VARCHAR2(30)
COMMENTS                                           VARCHAR2(4000)

SQL> select TABLE_NAME,COMMENTS from dict where COMMENTS like '%grant%';

TABLE_NAME                             COMMENTS
------------                           ------------------
USER_AUDIT_STATEMENT                   Audit trail records concerning  grant, revoke, audit, noaudit and alter system
USER_COL_PRIVS                         Grants on columns for which the user is the owner, grantor or grantee
USER_COL_PRIVS_MADE                    All grants on columns of objects owned by the user
USER_COL_PRIVS_RECD                    Grants on columns for which the user is the grantee
USER_SYS_PRIVS                         System privileges granted to current user
DBA_STREAMS_ADMINISTRATOR              Users granted the privileges to be a streams administrator

分享到:
评论

相关推荐

    java用户角色权限

    在Java开发中,用户角色权限管理是构建任何大型或复杂应用程序不可或缺的一部分。它涉及到系统中的用户如何被授权访问特定资源或执行特定操作。这个"java用户角色权限" demo旨在提供一个基础框架,来理解用户、角色...

    SAP权限概念+用户维护+角色设计及权限测试

    适合于SAP BASIS新手的 用户ERP用户新建、角色维护的培训文档

    C# winform 权限控制 包括角色 用户 权限设置

    创建三个核心表:`Users`(用户),`Roles`(角色)和`UserRoles`(用户角色关联)。`Users`表存储用户名和密码等信息,`Roles`表记录角色名,`UserRoles`表用于连接用户和角色,形成多对多关系。 **2. 登录模块** ...

    SpringBoot + SpringSecurity + JPA 实现用户角色权限登录认证

    本项目结合了SpringBoot、SpringSecurity以及JPA(Java Persistence API),实现了用户角色权限的登录认证功能。以下是关于这些技术及实现过程的详细讲解。 1. **SpringBoot**:SpringBoot简化了Spring应用的初始...

    角色用户权限DB设计

    一直想整理一篇关于用户角色权限的设计,这几天通过网上资料和自己实际工作中运用到的资源把用户角色权限的数据库表设计出来。 基础表有3张: 角色表--用来记录角色名称 用户表--用来记录登录用户名称和登录密码 ...

    角色权限用户123

    ### 角色权限用户之间的关系及设计原则 在软件系统特别是企业级应用中,权限管理是非常重要的一个环节。良好的权限管理不仅可以确保数据的安全性,还能提高系统的可用性和易用性。本文将深入探讨角色、权限与用户...

    RBAC用户角色权限设计方案

    ### RBAC用户角色权限设计方案详解 #### 一、引言 在现代软件系统尤其是企业级应用中,用户角色权限管理是非常重要的一部分。合理的权限管理不仅可以提高系统的安全性,还能提升用户体验,使得不同用户能够根据自己...

    用户角色权限管理模块

    在IT系统设计中,用户角色权限管理模块是一个至关重要的组成部分,它主要负责维护系统的安全性和访问控制。这个模块确保了不同类型的用户只能访问他们被授权的功能和数据,从而保护了系统的完整性并提升了用户体验。...

    Java layui 用户角色权限源码

    在IT行业中,构建一个完善的用户角色权限管理系统是至关重要的,特别是在企业级应用中。这个"Java layui 用户角色权限源码"提供了一套完整的解决方案,它结合了Java编程语言与Layui前端框架,实现了对用户、角色和...

    基于角色的用户权限系统设计

    ### 基于角色的用户权限系统设计 随着信息技术的广泛应用,“信息安全”问题变得日益突出。为了确保系统安全,根据OSI(开放式系统互联)模型,提出了五项基本安全服务:身份验证、访问控制、数据完整性、数据机密...

    Oracle用户、权限、角色管理

    ### Oracle用户、权限、角色管理深度解析 在Oracle数据库的管理中,用户、权限和角色的管理是确保数据安全和高效使用的关键环节。本文将详细阐述Oracle中的用户管理、权限设置,以及角色管理的重要概念和操作流程。...

    用户建立和角色设置

    对于数据存储的访问,必须同时拥有数据中心的“只读”权限和数据存储的特定角色权限。 需要注意的是,权限分配是递归的,意味着如果未取消“传播到子对象”的选项,权限会继承到子对象。因此,精细的权限控制要求对...

    spring+springmvc+mybatis项目案例实现用户角色权限管理

    使用spring+springmvc框架 整合了Mybatis持久层框架 整合Druid用于数据库连接,并使用Druid对业务层监控spring jdbc 整合EhCache,对Mybatis的二级缓存进行管理和对spring进行缓存管理 ...整合hibernate.validator校验...

    C#用户权限角色设置框架

    7. **数据库设计**:为了存储用户、角色和权限信息,可能有一个定制的数据库结构,包括用户表、角色表和用户角色关联表。这些表需要正确设计以确保数据完整性和安全性。 8. **代码分离和设计模式**:良好的权限框架...

    基于角色的权限控制

    例如,系统管理员角色可能包含创建、修改和删除用户的权限,而普通用户角色可能只有查看和使用系统的权限。 2. 用户(User):用户是实际操作系统的实体,他们可以通过被分配到一个或多个角色来获取权限。用户角色...

    spring+hibernate 角色权限系统

    在"spring+hibernate 角色权限系统"中,Hibernate被用来管理角色和权限的数据模型,包括用户、角色、权限等实体的CRUD操作,从而实现数据层的高效管理。 3. **Quartz-all-1.5.2.jar**: Quartz是一个开源的作业...

    基于角色的权限(easyUI+servlet)

    在IT行业中,基于角色的权限控制(Role-Based Access Control,简称RBAC)是一种常见的权限管理模型,用于确保系统中的用户只能访问他们被授权的操作。在这个项目中,我们结合了easyUI和servlet来实现这样的功能。...

    用户角色菜单权限表结构创建以及数据插入

    用户菜单权限表建表语句以及数据插入语句,后台管理系统搭建必备,学习专用。 如果使用外键关联,在对表进行数据操作时就考虑另一张关联的表,相当于两张表就绑在一起了,操作这张表就必须考虑另一张关联表。我们...

    java用户角色权限设计编程资料

    java用户角色权限设计

Global site tag (gtag.js) - Google Analytics