我想开发一个基于本公司业务发展数据的查询平台,领导的意思是普通员工只能查询自己发展的业务,而部门主任能查询本部门发展的所有业务,领导级别的人物呢最高权限,所有的资料都可以看到。目前我已经实现了最高权限即领导级别的查询功能,各位大侠,小弟刚接触jsp开发,恳请各位给个实现的思路。

解决方案 »

  1.   

    楼主可以看看这篇文章:http://www.ibm.com/developerworks/cn/security/syscontrol/index.html
      

  2.   

    感谢楼上的回答,
    您的意思是在用户表中增加一个字段,类似于权限级别的字段?那么在SQL中怎么写呢?然后在后台怎么做啊?能不能说的再详细些呢?我补充下我采用的技术方法:jsp+Oracle+javaBean+DAO工厂模式。
    两张表,用户表和基本数据表,把登陆后的用户信息放在session中。
      

  3.   

    在数据库加个权限字段,把这个字段加到相应的JavaBean里,生成set和get方法,然后在你处理查询请求那个DAO接收一下这个权限,然后用if……else生成不同的sql语句,进行查询!
    补充一下:怎么接收这个权限,在你用户登陆的时候,把该用户存放到session会话中,不知道你用没用servlet,如果用了,就在servlet里得到session然后获得该用户,get出该用户的权限,然后传到DAO里,如果没用servlet,这些操作直接在DAO里!
    希望对LZ有帮助!
      

  4.   

    在SQL就正常写呗!把你原来的表新加个字段,比如叫authority,这个字段不能让别人来赋值,是添加用户时候根据你添加的是什么用户自动生成的,也就是有你自己控制的,比如说0是最高权限,1部门权限,2普通权限
      

  5.   

    给每个用户赋一个权限代码,比如 11300000000,下一级就是11301000000,11302000000,再下一级依次类推,查询的时候先将代码截后面0处理,然后查询加上 dm like '11301%'
      

  6.   


    首先感谢6楼的回答,这个方法我开始想到过,确实可以解决一般的用户权限管理问题,但是还是有点问题,举例来说:市场部的主任和财务部的主任怎么区分呢?怎么让他们只能查到自己部门 的数据呢?
    是不是需要在数据库中增加用户所属部门表,在读取用户资料的时候查询部门表,然后构造不同的SQL?
    我用了servlet,但是我对oracle数据库查询语言还不是太熟,按照上面的思路sql查询如何写呢?能不能举个部门主任查询方法的例子啊?如果能的话万分感谢!
      

  7.   

    感谢楼上各位朋友的热心帮助。
    我刚才认真看了下9楼的回答。
    他的意思是不是在每条记录中增加一个字段,这个字段的内容包含业务发展员的编号,在SQL查询时用like进行模糊匹配?是这样的吗
      

  8.   

    dm最好再建一张表维护(代码,名称,根据需要可以加其他字段),这个dm应该是结合部门,岗位进行编码
      

  9.   

    恩,感谢aoli444的帮助,准备结贴了,小弟分数不多,请各位谅解。