小弟功底不厚,想问问大家做java的时候怎么控制一个用户的权限?如:他要访问一个他并没有权限访问的路径,怎么解决?用过滤器么?还是在action里面处理?我的想法是用过滤器:把所有权限对应的路径放到session中,每次用户访问一个路径在过滤器中取出session查找他是否有该权限访问路径。不知各位有什么高招,指点一二~~~~

解决方案 »

  1.   

    权限控制手册
    http://www.family168.com/oa/springsecurity/html/index.html
      

  2.   

    用过滤器,权限的路径放到session中不好,可以存到数据库里,也可以配置到xml文件中,这是我的想法!
      

  3.   

    我觉得你应该放在数据库中,简单点就分用户,角色和权限,权限可以细分到url,你可以看下spring的acegi
      

  4.   

    lz 如果是简单的权控制,可以采用过滤器,或者struts2的拦截器,如果是复杂的权限控制,可以采用sprig security 框架,能够很好的解决此问题。
      

  5.   

    以前课程设计做权限设计
    我都是用session或者在数据库里面添加个字段判断权限
    其余的还不会
    研究中
      

  6.   

    过滤器足矣。Ralasafe开源免费的中间件,已经有了这样的过滤器,还有控制登录的过滤器(哪些页面需要登录后才能查看,如果没有登录,转到登录页面)ralasafe有几个好处:
    1,是中间件,不是框架,所以对你的业务代码和数据库没有任何要求,也不需要做改动;
    2,有图形界面进行管理配置,还可以在线测试。不需要java编码,也不需要像很多开源产品那样写配置文件。ralasafe中文站:http://www.ralasafe.org/zh
    参考手册地址:http://www.ralasafe.org/zh/guide/reference/index.html
      

  7.   

    Ralasafe还可以管理数据级权限。  很多查询代码都可以不要编写了,非常爽。
      

  8.   

    ^_^支持Ralasafe,支持国内开源。
      

  9.   

    这种问题你用spring的权限框架 acegi很好解决
      

  10.   

    目前最好的权限框架应该是spring security吧,呵呵,可以交流下,哇哈哈哈
      

  11.   


    我就是想放到数据中,然后访问第一次完就加载到session中。
      

  12.   


    程序中缓存,关键就是在这里怎么缓存?用静态变量?或者全部放到session中,会不会太大呢?
      

  13.   


    如果我是用mysql管理数据库而不是oracle呢?