ASP教程之对权限把持又很深切的会商(2)
ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。把持Re:我也就教一个关于权限计划方面的成绩宣布工夫:2003年10月24日16:24:18复兴宣布人:littlebird宣布文章:1/注册工夫:2003-10
看了这么多关于权限方面的会商真是受益不浅。
这里说说我的设法:
我以为关于多半企业使用项目,绝对而言都不是很年夜的项目,权限办理部分是否是能够简化成:user*-->1role1-->*operate
用户大概有良多构造上的条理干系,但在这里能够将它压平,不管甚么条理都间接和脚色相干,并且只要一个脚色
权限也大概有良多条理干系(好比旧事包含A、B或C部门的),这里也把它睁开,让脚色间接最底层的权限相干(如A部门旧事的修正权限)
依据用户取得它的脚色,再依据脚色取得它具有权限的汇合。
而group是用户的汇合,把它加上会变得相称庞大;固然还能够有权限汇合的观点也到场,那就更庞大了。
Re:我也就教一个关于权限计划方面的成绩宣布工夫:2003年10月25日11:07:20复兴
宣布人:iceant宣布文章:413/注册工夫:2002-10
我想理一理思绪,看看ACL与RBAC的区分:
仍是以部门旧事来会商,关于静态受权,在体系计划做需求剖析的时分,常常就能够
断定一个体系脚色的品种,像旧事体系中,依据需求,大概会有旧事公布者(Publisher),
旧事考核者(Reviewer),旧事扫瞄者(Visitor),办理员(Manager)和超等办理员(Administrator)。
在计划的时分我们也已把这些脚色与响应的一些Operation绑定在一同。
如:Publisher具有Publish_Operation+Modify_Operation
Reviewer具有Review_Operation+Modify_Operation+Delete_Operation
Visitor具有Visit_Operation,
Manager具有Create_News_System_Instance_Operation+
Modify_News_System_Instance_Operation+
Delete_News_System_Instance_Operation
Administrator卖力Create_User_Operation+
Delete_User_Operation+
Assign_Permission_Operation+
Deassign_Permission_Operation+
Assign_Role_Operation+
Deassign_Role_Operation
在受权时,常常先为一个用户(USER),付与一个脚色,如:Manager.如许,USER就
具有了对一切News_Instance(也就是部门旧事)操纵的权限。
如今假定用户(UserA)会见Create_News_System_Instance功效来创立一个新的旧事实例,
叫做推销部门旧事.由于我们在计划的时分就断定,该功效只能由Manager来会见,
因而,体系中权限的判别部分会起首判别以后用户(UserA)是不是Manager脚色,是的话就同意
会见,不然显现没有受权的毛病信息。
以是,关于Manager如许的使用:
在计划的时分,我们就将如许的脚色与响应的Permissions(AlistofSubject-Operationpairs)
联系关系在一同了,这里的Subject是一切的旧事实例(News_Instance),Operation
就是Create,Modify和Delete.
在受权的时分,超等办理员(Administrator)能够使用Assign_Role_Operation将用户(User)
与Manager这个脚色联系关系起来。如许,User就具有了对一切旧事实例的Create,Modify和Delete
操纵的权限。
在权限判别的时分,RBAC体系起首判别以后用户是不是是计划时断定的脚色(这里是Manager),
假如是,就同意用户会见,不然就回绝会见,并显现毛病信息。
关于Publisher如许的脚色有些分歧,Publisher这个脚色只与Operation绑定在一同,并没有与
详细的Subject相干联,因而,在受权的时分,还必要指定响应的Subject.
以是,对Publisher如许只能事前断定Operation的使用来讲:
在计划的时分,我们只能断定该脚色能举行哪些操纵,而不克不及断定这些操纵实行的工具。
在受权的时分:
起首将Publisher与Subject联系关系,如将Publisher与推销部门旧事联系关系发生:
推销部门旧事_News_Publisher的脚色
Administrator为用户(User)授于推销部门旧事_News_Publisher脚色。从而User
具有了对"推销部门旧事"的公布权限
在权限判别的时分,用户会见推销部门旧事_News_Publish_Operation,体系起首判别
该用户是不是推销部门旧事_News_Publisher?假如是,就同意用户会见,不然就回绝会见,
并显现毛病信息。
这里用到的办法多是这个模样:
booleancheckPermission(推销部门旧事,Publish_Operation,User){
Listpublishers=RBAC.findRole(newPermission(推销部门旧事,Publish_Operation));
if(publishers==null)returnfalse;
for(Iteratorit=publishers.iterator;it.hasNext();){
Rolepublisher=(Publisher)it.next();
if(publisher.isAssignedWithUser(User)){
returnture;
}
}
returnfalse;
}
假设说,不接纳RBAC的做法,思索一下,利用ACL,那又会是甚么模样呢?
关于Manager那样能在计划时就断定Subject与Operation的脚色,我以为没有需要思索ACL了.
关于Publisher如许,只能事前断定Operation的脚色,我们来做个对照.
权限体系要天真,可是也要简便,要否则就极可能导至掉控。由于嵌套的条理太多,有大概产生不成
预知的情形.有一天办理员大概会莫明的发明,怎样这团体会有这个权限的?
以是,我以为在RBAC里不撑持Role的层级干系为妙。
好了,如今来看看ACL对Publisher使用
这里指的ACL是间接将User或Group与Subject联系关系的做法。
User与Subject是多对多的情形,
Group与Subject也是多对多的情形,
一样的,User与Group也是多对多的情形。
如今,仍是以推销部门旧事为例:
在受权的时分,能够有以下操纵:
将User与Subject联系关系在一同,可是要指定响应的Operation.
如:assignPermission(推销部门旧事,Publish_Operation,User)
将Group与Subject联系关系在一同:
如:assignPermission(推销部门旧事,Publish_Operation,Group)
将User与Group联系关系
如:
assignUserGroup(User,Group)
在权限判别的时分,用户会见推销部门旧事_News_Publish_Operation,体系做以下反省:
booleancheckPermission(推销部门旧事,Publish_Operation,User){
booleanhasPermission=false;
//usersinclude:
//1.PermissiondirectassignedUsers
//2.Theuserassignedwiththegroupsthatassignedwithpermission
Listusers=getAssignedUsers(newPermission(推销部门旧事,Publish_Operation));
hasPermission=users.contains(User)?true:false;
}
Re:我也就教一个关于权限计划方面的成绩宣布工夫:2003年10月26日22:32:43复兴
宣布人:GreateWei宣布文章:3/来 自:宁波/注册工夫:2003-07
曾看过ofbiz关于权限计划的相干材料,感到ofbiz在完成方面有很年夜的通用性。看过以后,总以为本人了解的不敷透辟,但愿人人能具体的解说一下,感谢。
宣布人:SUPERMY宣布文章:21/注册工夫:2002-10
能够试一试tiles,应当很复杂的。用户权限必需在设置文件中写逝世。
Re:我也就教一个关于权限计划方面的成绩宣布工夫:2003年10月29日23:26:09复兴
ASP是依赖组件的,能访问数据库的组件好多就有好多种,再有就是你微软的工具可是什么都要收钱的啊! 接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。 在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。 在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助: 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
页:
[1]