首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

J2EE系统的容易权限管理

2012-11-06 
J2EE系统的简单权限管理目前,系统已经开发接近尾声,主要的功能已经开发完成。用户提出增加权限管理功能。本

J2EE系统的简单权限管理
        目前,系统已经开发接近尾声,主要的功能已经开发完成。用户提出增加权限管理功能。本身来讲系统的权限相对简单,只需要区分出某一页面对某个登录人员是什么权限即可(只读,编辑/保存/删除数据两种权限)。增加一个较全面的权限管理模块有些杀鸡用牛刀的感觉。所以,我们决定开发一个简单的权限管理,只需满足系统需要即可。思路是当用户访问某一个具体功能页面时调用嵌入jsp的java代码,判断该用户是否拥有修改编辑页面的权限,如果没有此权限则调用js方法设置页面为只读。

        这样的好处是开发快捷方便,前后也就2个小时;不需要修改中间层Form的java代码;只需在jsp中引入很少的代码(全下来不超过50行)。过程及代码如下:

        1.数据库表
           增加一个Page表,保存每个功能页面的url,这样可以在用户登录进行权限判断时判断是哪一个页面。
              Page的部分表结构:id,page_id, url, module_name, page_name
           增加一个权限表,用来保存不同userid所拥有的不同page的权限。
              Authority部分表结构:id,operator_id, page_id

        2.每个jsp功能页面
           在每个jsp页面,引入authority.jsp页面。并在页面初始化js方法中调用setPageAuthority方法。该方法放在authority.jsp;

<% int operatorId = UserContext.getCurrentUser().getId(); String url = request.getRequestURI();     boolean hasRight = hasPageRights(operatorId,url); if(!hasRight){%><script>    //若没有页面编辑权限,设置页面为只读模式    function setPageAuthority() {        var readOnlyDiv = document.createElement("div");        readOnlyDiv.style.width = document.body.clientWidth;//设置层的宽度        readOnlyDiv.style.height = document.body.scrollHeight;  //设置层的高度        readOnlyDiv.style.filter = "alpha(opacity=1)";          //设置层为透明        readOnlyDiv.style.backgroundColor = "white";        readOnlyDiv.style.position = "absolute";                //设置层的位置        readOnlyDiv.style.left = "0";        readOnlyDiv.style.top = "0";        readOnlyDiv.style.zIndex = "1000";        document.body.appendChild(readOnlyDiv);    }</script><%    } else{    //具有页面编辑权限,方法为空,不设置div层 %> <script>    function setPageAuthority()  {} </script> <%    } %>

热点排行