分享
 
 
 

基于Cocoon的应用(二)及系统权限探讨

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

本文为作者为jas,欢迎转载,但请注明文章出处~^_^~ 作者介绍:林霖(jas) 2004年毕业于一所备受改名之苦的普通本科院校。此人狂爱开源技术。 1. 为什么要进行权限控制 在网络通信极其发达的现代社会,人类的活动越来越依赖网络,人们不断的把以前只能现实中完成的人类活动搬到网络上。人们可以在通过网络自由的进行商业活动、娱乐、通信交流等。涉及到的商业利益,个人利益越来越大,于是就产生了很多网络安全的问题。

如何在网络上保证自己的信息不被其他人盗窃也就的越来越引人注目。

2. 如何保护自己 自然界的生物在对其他物体进行攻击或逃跑之前会先对对方进行的身份和新闻的判断。狗在攻击之前,肯定是先嗅嗅你,判断你是否是陌生人。这是对你身份进行认证。如果你是主人,他当然不会攻击你,但如果你是陌生人,就会得到他不同对待。而如果也对它进行攻击的话它可能会逃跑,这也是它对你的行为的判断的结果。

同样我们可以把这种行为引入到网络中。要保护自己,就要先对要求对你产生行为的事物进行身份认证。而在我们如何来做到这点呢,有很多方法。你可以给使用你的资源的人或事物分配只有你能辨别的唯一标识符。但是一旦你的资源被放置到网络上,那么所有都可以通过网络来尝试使用它们,那些人可能是你分配了标识符的人,也可能是一个完全陌生的人。所以你就要在他们一连接到你的应用就给他们每个人分配唯一的标识。这就产生的session会话。每个用户一旦跟应用连接,我们就跟每个人建立唯一不同的会话。于是我们就可以通过session来取得用户的信息并辨认他的身份。

于是剩下的问题就是如何利用好session来保护你的应用,如何使它发挥最大的功效。

现在我们来看看几种使用方法。同时你会看到我是如何保护我的应用的。

3. 利用Session保护你的资源和创建灵活的权限控制机制 1. 第一种就是我们最常用的。每当有人要使用你要保护的资源时,你都手工的判断你的session里的用户是否具有此权限。看看下面伪代码,我们保护资源的一般流程。

If (Session.getUserName()&Session.hasRight() )

{

我的保护资源;

}

else

{

你无权访问我的资源;

}

你可以发现在每次有请求要使用你的保护资源是,你都要手工的判断一次是否有使用权限。

于是我们思考:为什么不创建一个框架让系统自动的来判断这些资源,而我们要做的就是指出我们要保护的资源,其他的让我们的框架来忙就行了。于是就产生了认证框架。而在cocoon里我们可以很容易的作到。

2. Cocoon authentication framework .这就是我们要研究的session的第二种方法。但是先让我们跳过,后面会详细的介绍如何使用这个框架。

3. 上面我们让framework来做一些重复性的工作,下一步我们研究一个重点就是,如何能给我的系统实现一个灵活的权限控制机制。

我们可以想象当一个系统很庞大的时候,有很多模块,我们如果每个模块的有自己的控制体系或者控制方法的话,那将是非常混乱的事情。那为什么我们不统一控制起来呢?于是我想到了一种可以灵活处理解决的方法。那就是给所有模块的功能统一编号。然后跟给定的用户的、用户组、或角色映射起来。用户要去使用某个功能,某个模块,就要先查看这个映射。看是否有使用权限。比如:

n 系统将划分不同的使用用户,每类用户属于某一个角色,一共有3种角色guest,poweruser,admin

所以有一个角色表roles.它的结构如下:

角色表roles:

1. 角色id:(r_id)

2. 角色名字:(r_name)

3. 描述:(r_des)

具体表结构如下:

n 系统将系统将给不同的功能给定id,然后给每个功能给定不同的权限,最后将功能和功能的操作权限映射(map)到角色。而用户由于属于某一类用户而具有某一功能的的特定权限。

例:我们有一个功能是给admin留悄悄话。这个功能的我们给定功能id为301,其中3代表某一个大的模块功能,这里为留言,01则为具体的写悄悄话的权限,以此类推,302为在留言模块里删除悄悄话或其他一些操作。

于是我们可以将这个功能映射不同的角色,如果功能对应角色映射如下的话:

301——poweruser——yes

那么我们就认为该属于poweruser的用户可以有使用给主人留悄悄话的权限。

如果对应角色映射如下的话:

301——poweruser——no

那么我们认为属于角色poweruser的用户将不能给主人留悄悄话。

n 而相对于每一个用户我们将他归到一个角色上去。没个用户只能属于一个角色.

这样带来的统一管理的好处是非常明显的,另外一个巨大的好处就可以把我们可以非常方便的改变自己的功能模块的使用权限到用户的映射。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有