Chinaunix首页 | 论坛 | 博客
  • 博客访问: 244801
  • 博文数量: 64
  • 博客积分: 1416
  • 博客等级: 上尉
  • 技术积分: 565
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-18 10:54
文章分类

全部博文(64)

文章存档

2011年(4)

2010年(60)

我的朋友

分类: Oracle

2010-04-10 10:57:29

在大部份系统中,权限控制主要定义为模块进入权限的控制和数据列访问权限的控制(如:某某人可以进入某个控制,仓库不充许查看有关部门的字段等等)ITPUB个人空间&E k2v w


RfxV7h
a
  但在某些系统中,权限控制又必须定义到数据行访问权限的控制,此需求一般出现在同一系统,不同的相对独立机构使用的情况。(如:集团下属多个子公司,所有子公司使用同一套数据表,但不同子公司的数据相对隔离),绝大多数人会选择在View加上Where子句来进行数据隔离。此方法编码工作量大、系统适应用户体系的弹性空间较小,一旦权限逻辑发生变动,就可能需要修改权限体系,导致所有的View都必须修改。
8Ii
_&{1r&S s0
  本文探讨的使用Oracle提供的Policy管理方法来实现数据行的隔离
ZW
O[­~0
注意:这里的policy是在9i

 

(1)建立数据表(t_policy):

CREATE TABLE T_POLICY
[1]d{(_)S(]~
W.u0
(ITPUB
个人空间I4k
j[1]_
ToK‑L-Q

  T1  VARCHAR2(10 BYTE),
1M2r4X*aR0  T2  NUMBER(10)
%D)~%X.h0?*@{}

阅读(1807) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~