WEB开发网
开发学院数据库Oracle 将Oracle 10g内置的安全特性用于PHP 阅读

将Oracle 10g内置的安全特性用于PHP

 2006-08-07 11:52:48 来源:WEB开发网   
核心提示: 为了简化新用户创建初期的工作,Oracle 自带了三个预定义的角色:·CONNECT 角色 — 该角色使用户可以连接数据库以及执行基本的操作,将Oracle 10g内置的安全特性用于PHP(3),如创建自己的表,默认情况下,并将该用户用作为匿名 Web 用户提供内

为了简化新用户创建初期的工作,Oracle 自带了三个预定义的角色:

·CONNECT 角色 — 该角色使用户可以连接数据库以及执行基本的操作,如创建自己的表。默认情况下,该角色不能访问其他用户的表。

·RESOURCE 角色 — RESOURCE 角色与 CONNECT 角色相似,但它允许用户拥有较多的系统权限,如创建触发器或存储过程。

·DBA 角色 — 允许用户拥有所有系统权限。

使用中的授权和权限

在本部分中,我们将讨论如何使用 Oracle 的授权和权限来提高本文开头部分讨论的那个简单 CMS 示例的安全性。假定,提供给应用程序用户的内容存储在 WEB_CONTENT 表中。

首先,创建该表。启动 Oracle 数据库特别版,以系统管理员身份登录。如果还没有释放示例 HR 用户,请将其释放。按照特别版安装附带的入门指南中的指示操作。请注意,默认情况下,HR 用户被赋予 RESOURCE 角色。在这里,赋予该用户 DBA 角色,这样就可以使用该帐户管理 CMS 应用程序的数据库方面了。当然,不会使用 HR 用户帐户进行在线访问,只用它管理数据库。

现在,可以使用对象浏览器或通过执行 SQL Commands 窗口创建新表。下面是创建该表的代码:

CREATE TABLE WEB_CONTENT (
page_id NUMBER PRIMARY KEY,
page_content VARCHAR2(255)
);

由于该表是使用 HR 用户帐户创建的,因此该表归 HR 帐户所有并位于 HR 模式中,并且在明确授予其他用户访问该表的权限前,其他用户无法访问该表。如果不信,可以创建一个新用户,用该用户访问 WEB_CONTENT 表试试。

现在,创建两个新用户,CMS_USER 和 CMS_EDITOR。最终,将授予 CMS_USER 对 WEB_CONTENT 表的只读权限,并将该用户用作为匿名 Web 用户提供内容的数据库帐户。CMS_EDITOR 帐户将在该表上拥有更多权限,将被用作 CMS 编辑的帐户(该帐户需要更改和维护该表中的数据)。

上一页  1 2 3 4  下一页

Tags:Oracle 内置 安全

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接