企业应用最基本的要求就是只授予用户在他工作职责范围内的权限,一般而言,这种权限都包含两种,一种是对于相应的功能的可见性(或者形象地说,菜单的可见 性,这个是应用层面界面的,这种权限在Siebel里称为View的可见性),这种在Siebel里是由职责(responsibility)来控制的。

   Siebel 里的基础的职责定义了完成一个工种所需要的权限类型,也可以授予一个人多个职责,从而他将具有多个职责的权限。Siebel应用在正常安装后已经定义了一 整套的职责(称为Seed Responsibility),这些职责每个都已经有预定的View权限,当然也可以根据需要创建自己的职责,然后指定该职责所需要的View的权限, 再把职责赋予用户,这样就可以非常严格地控制一个用户所具有的View的权限类型。
    在相应的职责里增加View的时候,可以指定该View做该职责里是“只读的”来防止具有该职责的用户对数据进行修改。View,Responsibility和用户的关系如下图:
siebel_N4-01.jpg

Siebel
  应用里的另一个权限控制是数据权限,也即功能里的数据的可见性(比如一个销售代表可以看见自己的所有销售机会,但是几乎没有什么必要让他看见其他销售代表
的销售机会,而他们的Manager则可以看见他所管理的所有销售代表的销售机会),这称之为数据的可见性,也就意味着哪怕具有相同职责的用户所看见的数据是不一样的,这种Siebel里是通过position职位来控制的,View的控制和数据的控制这两种控制都是彼此独立的,他们结合起来一起控制着Siebel应用用户的权限。

按照数据权限控制的不同,Siebel里的数据可以分为两种类型,一种类型称为Customer Data,这种类型的数据包含销售机会,服务请求等交易类型的数据,这些数据主要由使用Siebel应用的过程中产生,这种数据权限都是控制在记录级别。

另一个相对静态的数据称为Master Data,这些数据相对而言比较静态,包含一些引用类型的数据,比如产品列表,这些数据通常由管理员产生,并按照类型归类,这些数据的权限控制按照类型(catelog)的权限控制进行。

实际上Siebel里的权限控制的思路来源于真实世界里的公司组织里的权限的思路(比如Manager可以看见他所领导的所有的销售的Opportunity),所以Siebel的权限是和公司的组织结构挂钩的,职位在一个组织里形成树状的结构,这样的结构意味着一个层次高的职位可以看见属于他的所有子职位的所有数据,职位并不是这棵树上的所有东西,在这棵上还挂着Division和Organization的概念,Division和Organization和我们平常所见的公司结构图里的分支和部门是一样的概念,其实建立Division和Organization的方法一样,只不过要在建Division的时候选择一个checkbox指定该Division为Organization。但是Organization和Division也有区别,他们都可以用于来设置公司组织架构的层次,但是Divsion里的数据都是共享的(division里可见),如果希望不同的Organization不能够互相看见对方的数据进行数据的控制,则要使用Organization。也就是说Organization可以作为一个数据权限的控制的单位但是Division不可以。
    在Siebel应用里,数据的权限可以划分到用户的ID,职位,所属组织上,下图是雇员,职位和组织的关系:
siebel_N4-02.jpg

即雇员用户可以有多个职位,每个职位也可以属于多个雇员,但是每一个职位一定是属于某个组织的,雇员用户在登录后只能够看见他们当前登录所选择职位的数据,
当然他们登录后也可以改变自己的当前职位,从而能够看见他所赋予的别的职位的数据,我的感觉是,这个Siebel里的职位反而有点象11i里的职责的概
念!

对于动态的Customer Data数据,权限的控制如下图:

siebel_N4-03.jpg

也就是说,记录的权限控制可以是在employee,position或者在Organization级别上又或者它们的一个组合进行,采用哪张方式主要取决于该数据所属的BC的一些特性,通常这些数据都对应着相应的View,如:

My View指得是我的数据,如My Account
         My Teams’ View指的是我的团队的数据(Manager视图)
         All View则是属于一个Organization的所有的数据

通常在一条记录创建的时候,这条的记录的Organization属性就是该用户职位所属的机构,当然也可以手工更改这条记录的机构属性,职位也是一个公司组织结构图上的一个小方块,用于组成公司的上下级汇报关系,而且因为职位远要比雇员要稳定(雇员很可能离职),所以职位的访问控制在企业的很多场景里提供了恰当的数据访问控制方式,,而且使用职位进行访问控制比之使用雇员进行权限控制有更大的稳定性。

前面提到View已经很多次了,但是只有在交代了权限控制之后才能够完全说清楚View的概念,实际上View就是看数据的一种方式,一个View必须以某种权限模式去观察数据(也就是说一个View要么赋予Employee权限,要么赋予position权限,要么赋予Organization权限),如果需要以新的权限方式来观察数据,就需要建立一个新的View,这个就是Siebel里View的概念。

Siebel 基础入门--权限控制的更多相关文章

  1. Java基础—访问权限控制

    Java中访问权限控制的作用: 为了使用户不要触碰那些他们不该触碰的部分,这些部分对于类内部的操作时必要的,但是它并不属于客户端程序员所需接口的一部分. 为了让类库设计者可用更改类的内部工作方式,而不 ...

  2. 25-ESP8266 SDK开发基础入门篇--控制WIFI连接路由器

    https://www.cnblogs.com/yangfengwu/p/11324411.html 说个事情,现在SDK的版本已经出到3.0了,但是我还是使用2.0 如果只是为了学习研究   选择3 ...

  3. <实训|第九天>掌握linux中普通的权限控制和三种特殊的权限(sst),做合格的运维工程师

    linux中,权限的学习是必不可少的,不论是作为一名运维工程师或者是单一的管理者,学习好linux中的权限控制,你就可以保护好自己的隐私同时规划好你所管理的一切. 权限的学习是很多的,不要认为自己已经 ...

  4. Linux学习总结(14)——Linux权限控制

    linux中,权限的学习是必不可少的,不论是作为一名运维工程师或者是单一的管理者,学习好linux中的权限控制,你就可以保护好自己的隐私同时规划好你所管理的一切. 权限的学习是很多的,不要认为自己已经 ...

  5. Sql Server来龙去脉系列 必须知道的权限控制基础篇

    题外话:最近看到各种吐槽.NET怎么落寞..NET怎么不行了..NET工资低的帖子.我也吐槽一句:一个程序猿的自身价值不是由他选择了哪一门技术来决定,而是由他自身能创造出什么价值来决定. 在进入本篇内 ...

  6. 【JAVA零基础入门系列】Day8 Java的控制流程

    什么是控制流程?简单来说就是控制程序运行逻辑的,因为程序一般而言不会直接一步运行到底,而是需要加上一些判断,一些循环等等.举个栗子,就好比你准备出门买个苹果,把这个过程当成程序的话,可能需要先判断一下 ...

  7. .NET零基础入门之02:源码控制管理器的使用

    一:概述 源码控制管理器,也叫"版本控制"软件,用于存储.追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具,是专业软件公司的基础工具.它主要是协助在多人团队中控制代码,防 ...

  8. shiro权限控制入门

    一:权限控制两种主要方式 粗粒度 URL 级别权限控制和细粒度方法级别权限控制 1.粗粒度 URL 级别权限控制 可以基于 Filter 实现在数据库中存放 用户.权限.访问 URL 对应关系, 当前 ...

  9. SpringSecurity 3.2入门(7)自定义权限控制介绍

    总结Spring Security的使用方法有如下几种: 一种是全部利用配置文件,将用户.权限.资源(url)硬编码在xml文件中. 二种是用户和权限用数据库存储,而资源(url)和权限的对应关系硬编 ...

随机推荐

  1. rest-assured的xmlPath使用方法总结

    xmlPath的使用方法跟JsonPath的使用方法相近,下面简单总结一下: 准备xml文件数据: <records> <car name='HSV Maloo' make='Hol ...

  2. docker 镜像的配置文件修改

    #抛砖引玉# docker exec -ti 容器ID /bin/bash

  3. Windows 安装Angular CLI

    1.安装nvm npm cnpm nrm(onenote笔记上有记录) 参考:https://blog.csdn.net/tyro_java/article/details/51232458 提示:如 ...

  4. [转] Linux命令——timeout

    [From] https://blog.csdn.net/xiaqunfeng123/article/details/54315390 Linux命令——timeout 命令简介 运行指定的命令,如果 ...

  5. 关于抓取js加载出来的内容抓取

    一.抓取页面 url=https://www.xuexi.cn/f997e76a890b0e5a053c57b19f468436/018d244441062d8916dd472a4c6a0a0b.ht ...

  6. PIE SDK Command、Tool、Control的调用和拓展

    1.功能简介 在一个项目中,是通过小组成员共同开发的,难以避免的是当项目功能集成的时候会出现很多兼容性问题,开发讲究高内聚低耦合,利用Command.Tool和Control的使用,可以提升集成的效率 ...

  7. http请求报文和响应报文(2)

    接上篇: 3.回应报文 理解回应报文,首先要弄清回应报文中的状态码. 相比于请求报文,对于响应报文,个人觉得还蛮有趣的. 主要由三部分组成:协议版本.状态码.状态码描述 3.1状态码 **常见的状态码 ...

  8. oracle 基础知识(五)--回滚(commit和rollback)

    一,commit 01,commit干了啥 commit 就是提交的意思.也就是当你把99%的东西都做好了,然后你执行最后一步的操作...再commit前的话你可能啪啪啪啪啪,敲了几百条sql DML ...

  9. how to use Sqoop to import/ export data

    Sqoop is a tool designed for efficiently transferring data between RDBMS and HDFS, we can import dat ...

  10. 虚拟机xp系统中Oracle 10g的安装

    1 安装过程(11步) 2.如果是xp系统可以直接并双击解压目录下的setup.ext,出现安装界面,如下: 3.输入口令和确认口令,如:oracle,点击下一步,出现如下进度条. 注:此口令即是管理 ...