對象訪問權限控制設定,備忘

系统权限根据会员按组别划分,权限按组别分配的方式进行管理。管理原则按白名单方式进行,即除非是指定享有某种操作的权限,否则都是禁止的。会员获 得权限的方式是被分配到某个有权限设定的组。有两个特殊的约定组:ANY和ALL,前者指任何用户,即使是没有登录;后者指已经登录的用户,不管他是不是 分配组别。简单地说,各种公开内容的display权限是赋予ANY。所有的定义都在WEB-INF/*.xml中进行。
<privileges>
    <privilege name="dochid" fld="dochid" vname="id" scope="page.thehome"/>
    <privilege name="blogid" fld="blogid" vname="id" scope="page.theblog"/>
    <privilege name="owner" fld="author" vname="name" scope="visitor"/>
    <!--
    <privilege name="SECTION"/>
    -->
    <display>ANY</display>
    <append>ALL</append>
    <roles>SECTION,articleadmin</roles>
</privileges>
权限是指已经定义的某种操作权力;包括访问页面的权力;访问操作(action.cgi)的权力;访问内容类型(对应数据库表格)的权力;以及更新 表格自已的记录的权力。权限一般有display浏览,modify更改;append添加;delete/resume删除等类型,只要预有定义,可以 在使用中任意扩展操作类型。

权限控制主要通过四个层次进行:

1、对页面访问的控制;主要通过hanva:visitor标签进行,标签定义参考tlds/hanva.xml;当auth=true时,标签就 会对所在会员标识的组别进行鉴定,确认是否有权限访问这个组。每个页可以通过引进hanva:default的方式确定一个页面的科室名称,从而确定是否 可以访问各个科室的页面。

2、对访问内容类型的控制:通过涉及到内容访问的标签,以及涉及到内容操作的cgi内部的控制,可以分别控制用户按组权限归属只能访问允许进行的内 容操作;操作定义在dao.xml的entity.privileges中进行;包括全权组;分类权组两种。全权组可以获得该组别的完全权限,分类权组是 只能获得分类权限。

3、行记录控制;可以按预定义的要求实现行记录控制,如控制只能访问自已记录(如自已的会员属性);或者按科室进行控制。

123三项的定义都是在dao.xml中进行,可以参考其中的权限部分文档说明。或者在http://zwwwxy.blogchina.com/blog/category.php?id=122830&pageno=2中有相应的说明。

4、科室控制。可以实现对科室页面和科室自有记录的控制;但定义的地方是在medsections.xml;科室实际上是一个包括组别/名称定义的 容器(集合),但相应面向科室的管理会令科室容器的内容大幅度增加。科室中可以定义多个组,只有这些组中的用户才能访问为科室定义的页面和记录操作。

在开始前可以把dao.xml中的repositor.auth定为faluse,这样意味着全局权限关闭。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值