浏览模式: 标准 | 列表Tag:framework
Submitted by gouki on 2009, January 2, 10:51 PM
其实真的不想提这个话题,关于这个话题真的是辛酸泪一把。但总得介绍一下吧。
角色访问控制(RBAC)引入了Role的概念,目的是为了隔离User(即动作主体,Subject)与Privilege(权限,表示对Resource的一个操作,即Operation+Resource)。
Role作为一个用户(User)与权限(Privilege)的代理层,解耦了权限和用户的关系,所有的授权应该给予Role而不是直接给 User或Group。Privilege是权限颗粒,由Operation和Resource组成,表示对Resource的一个Operation。 例如,对于新闻的删除操作。Role-Privilege是many-to-many的关系,这就是权限的核心。
基于角色的访问控制方法(RBAC)的显著的两大特征是:1.由于角色/权限之间的变化比角色/用户关系之间的变化相对要慢得多,减小了授权管理的复杂性,降低管理开销。2.灵活地支持企业的安全策略,并对企业的变化有很大的伸缩性。
RBAC基本概念:
RBAC认为权限授权实际上是Who、What、How的问题。在RBAC模型中,who、what、how构成了访问权限三元组,也就是“Who对What(Which)进行How的操作”。
Who:权限的拥用者或主体(如Principal、User、Group、Role、Actor等等)
What:权限针对的对象或资源(Resource、Class)。
How:具体的权限(Privilege,正向授权与负向授权)。
Operator:操作。表明对What的How操作。也就是Privilege+Resource
Role:角色,一定数量的权限的集合。权限分配的单位与载体,目的是隔离User与Privilege的逻辑关系.
Group:用户组,权限分配的单位与载体。权限不考虑分配给特定的用户而给组。组可以包括组(以实现权限的继承),也可以包含用户,组内用户继承组的权限。User与Group是多对多的关系。Group可以层次化,以满足不同层级权限控制的要求。
RBAC的关注点在于Role和User, Permission的关系。称为User assignment(UA)和Permission assignment(PA).关系的左右两边都是Many-to-Many关系。就是user可以有多个role,role可以包括多个user。
凡是用过RDBMS都知道,n:m 的关系需要一个中间表来保存两个表的关系。这UA和PA就相当于中间表。事实上,整个RBAC都是基于关系模型。
Session在RBAC中是比较隐晦的一个元素。标准上说:每个Session是一个映射,一个用户到多个role的映射。当一个用户激活他所 有角色的一个子集的时候,建立一个session。每个Session和单个的user关联,并且每个User可以关联到一或多个Session.
在RBAC系统中,User实际上是在扮演角色(Role),可以用Actor来取代User,这个想法来自于Business Modeling With UML一书Actor-Role模式。考虑到多人可以有相同权限,RBAC引入了Group的概念。Group同样也看作是Actor。而User的概念 就具象到一个人。
这里的Group和GBAC(Group-Based Access Control)中的Group(组)不同。GBAC多用于操作系统中。其中的Group直接和权限相关联,实际上RBAC也借鉴了一些GBAC的概念。
Group和User都和组织机构有关,但不是组织机构。二者在概念上是不同的。组织机构是物理存在的公司结构的抽象模型,包括部门,人,职位等等,而权限模型是对抽象概念描述。组织结构一般用Martin fowler的Party或责任模式来建模。
Party模式中的Person和User的关系,是每个Person可以对应到一个User,但可能不是所有的User都有对应的 Person。Party中的部门Department或组织Organization,都可以对应到Group。反之Group未必对应一个实际的机 构。例如,可以有副经理这个Group,这是多人有相同职责。
引入Group这个概念,除了用来解决多人相同角色问题外,还用以解决组织机构的另一种授权问题:例如,A部门的新闻我希望所有的A部门的人都能看。有了这样一个A部门对应的Group,就可直接授权给这个Group。
Role作为一个用户(User)与权限(Privilege)的代理层,解耦了权限和用户的关系,所有的授权应该给予Role而不是直接给 User或Group。Privilege是权限颗粒,由Operation和Resource组成,表示对Resource的一个Operation。 例如,对于新闻的删除操作。Role-Privilege是many-to-many的关系,这就是权限的核心。
基于角色的访问控制方法(RBAC)的显著的两大特征是:1.由于角色/权限之间的变化比角色/用户关系之间的变化相对要慢得多,减小了授权管理的复杂性,降低管理开销。2.灵活地支持企业的安全策略,并对企业的变化有很大的伸缩性。
本文也是我摘抄来的,原文地址为:http://xinsync.xju.edu.cn/index.php/archives/3693,主要还是想把这个角色权限说明白一些。如果有幸是同事们看到,那真是一大幸事,那些自认为是精英的同事们,你们懂吗?哦,不好意思,又揭你们的短了。
Tags: rbac, acl, 权限
PHP | 评论:4
| 阅读:32012
Submitted by gouki on 2008, August 22, 9:33 AM
以前我写过一篇测试播放器的文章,当然,在我自己的网站是正常了。正好遇到一朋友需要在supesite下面为每篇文章增加不同的背景音乐,于是调试了一下。由于supesite的编辑器会自动过滤一些标签,最终我的处理方案如下:
1、先选中编辑器状态栏中的“源代码”,点击后,输入
<div id='audio_file' style="display:none">aaa.mp3</div> |
其中,aaa.mp3就是你要播放的音乐文件,默认在根目录下的music目录里,如果你在里面建立了目录hongkong来存放香港歌英,则aaa.mp3就变成了hongkong/aaa.mp3,即在文件名前要加上目录路径,id=audio_file不能被改变,
2、取消选中源代码,继续编辑你的文章,这时候刚才的 aaa.mp3 会显示在内容里,不用理会他,成功后不会影响文件的编辑的。或者,你也可以在文件内容编辑完毕后,再选中源代码,在源代码的最上面加入这一行就行了。
3、在模版里加上相应的代码
XML/HTML代码
- <script language="JavaScript" src="http://www.xxxx.com/public/audioplayer.js"></script>
- <script>
- try
- {
- var audio = document.getElementById('audio_file');
- if(audio.innerText != ''){
- var audio_flash = 'http://www.xxxxx.com/public/player.swf';
- var audio_vars = {};
- audio_vars.soundFile = 'http://www.xxxxx.com/music/' + audio.innerText;
- audio_vars.loop = 'yes';
- audio_vars.autostart = 'yes';
- set_audioplayer( audio_flash , audio_vars );
- }
- }
- catch (e){}
-
- </script>
4、成功……现在测试
具体的代码就不提供了。网上应该是有的下载。。。。只是提供这个解决方法。
演示地址:http://www.l2foto.com/s/?action-viewnews-itemid-4
Tags: supesite, 背景音乐, mp3播放器
Software | 评论:2
| 阅读:22590
Submitted by gouki on 2008, August 20, 11:53 PM
1.6版本的zf终于将SOAP放进来了,同时也增加了DOJO的支持。不过我没有想通。为什么那么多的JS框架,最终会选择了DOJO。
这些不是我能够想得通的。还是看看到底更新了什么再说吧。
An overview of new features:
- Dojo Integration
- JSON-RPC
- Dojo Data packing
- Dojo View Helper
- Dijit integration with Zend_Form & Zend_View
- Dojo Library Distribution
- SOAP
- SOAP Server
- SOAP Client
- Autodiscovery
- WSDL access
- WSDL Generation
- Preview of Tooling Project in Laboratory (see /laboratory folder)
- Command Line Interface
- Project Asset Management
- Unit Testing Harness for Controllers
- Lucene 2.3 Index File Format Support
- Zend_Session save handler for Database Tables
- Paginator Component
- Text/Figlet Support
- ReCaptcha Service
- Zend_Config_Xml Attribute Support
- Character Set Option for DB Adapters
- Zend File Transfer Component
- New Media View Helpers (Flash, Quicktime, Object, and Page)
- Support in Zend_Translate for INI File Format
This obviously marks a very important step towards a high-quality, highly tested 1.6 GA release. Thanks to everyone who has contributed to this release in any way: with patches/check ins, documentation/translations, and bug reports.
But our work is not yet over! Let's do our best to bring this release to the breaking point to find areas we can improve the release for General Availability. Based on your feedback we will determine in the next few weeks whether we require additional release candidates, so please provide feedback on our issue tracker (http://framework.zend.com/issues) as soon as you can and ask any questions/post your experiences on the appropriate mailing list.
Again, the Zend Framework community does NOT recommend this release for production use. We do, however, recommend evaluating new features in this release with existing and new applications.
Enjoy 1.6RC1, and see you on the issue tracker, wiki, and mailing lists!
————END————
不知道:Zend File Transfer Component,这个会给我们带来什么样的惊喜?大文件传输还是其他的?下载源码研究一下,哈哈
Tags: soap, zend framework, zf, framework, dojo
PHP Framework | 评论:0
| 阅读:26868
Submitted by gouki on 2008, February 17, 3:00 PM
提起Zend,那是在PHP界是相当的有名啊。如果说使用PHP的人居然连Zend也不知道,那是白活了。呵呵
ZendFramework是Zend公司自己推出的一个框架,开发人员都是些元老级人物(但也是有BUG的。。自我安慰一下,高手也会产生BUG),ZF在经历了很长一段时间的发展(大约一年左右吧),才推出1.0系列,现在的版本当然又有了更新

» 阅读全文
Tags: zf, zend, framework
PHP Framework | 评论:0
| 阅读:34973
Submitted by gouki on 2008, February 17, 2:45 PM
FleaPHP 是什么?
FleaPHP 为开发者轻松、快捷的创建应用程序提供帮助。FleaPHP 框架简单、清晰,容易理解和学习,并且有完全中文化的文档和丰富的示例程序降低学习成本。
使用 FleaPHP 框架开发的应用程序能够自动适应各种运行环境,并兼容 PHP4 和 PHP5。
QeePHP据说是最新版本,从2007年中旬就开始说着要开发,年前的时候本来说是要发布,但最终还是没有,据说是因为自贡地区电力紧张,提前放假了。久候不至的情况下,先介绍一下Fleaphp吧

» 阅读全文
Tags: fleaphp, framework
PHP Framework | 评论:0
| 阅读:33878