日期:2014-05-18  浏览次数:20579 次

web开发中的权限问题讨论!!!
以前在开发中遇到的权限问题大多是粒度很粗的,比如权限仅仅控制到用户与功能模块对应,也就是说,让没有看到某个模块权限的人看不到此模块,这实现起来的确很简单,网上也有大把关于这方面问题的文章,略过之。。。

现在碰到了细粒度权限控制的问题,比如某个页面上有张表单,拥有很多很多字段,而且它们必须同时出现,但不同的用户对不同人字段权限都不一样,比如:
A可以查看表中所有字段;
B可以查看已及填写以及更新部分字段;
C可以更新另一些字段;
D可以更新一部分字段同时有一部分字段D不允许看到;

象这类问题,在权限分配阶段仍然和粗粒度的权限控制一样很简单
问题在于在页面上如何去控制各个字段的可见性以及可用性,最笨的办法可以如下:

对于可看不可改的: <input   type=text   value= "... "   <%if(没有修改权限)out.print( "readonly=true ");%>

其它情形也类似。

这样做带来的是沉重的维护负担,将来一旦对权限进行改动,要在无数多的页面一一找出这些JSP代码进行修改,简直就是灾难!!!!

大家一起来讨论讨论有没有更好的细粒度权限控制方案吧!

------解决方案--------------------
可以设定bean标签

到时候,替换不可以么


------解决方案--------------------
AOP可以很好解决这个问题
------解决方案--------------------
聆听是最大的智慧
------解决方案--------------------
页面里面的权限问题使用
<logic:present role= "admin ">

<logic:notPresent role= "admin ">

所需权限角色你自己定义~