SSH2项目的权限判定,大家使用的是什么?
之前修改的一个项目,那个人使用的权限判定很无语。。在action里面,在要进行的方法直接判断session是否为Null,是的话返回全局跳转,我觉得这个方法很让人费解,所以我想问问有没有另外一种方法在下列这情况怎么做:
比如说在一个action里面,有crud的各自方法,但是我对查询的不进行权限判定,其他的照旧,这样的情况下。不可能对每个方法都写预先执行相应的拦截方法了吧?不然那不是重用性很低么?
平常大家是怎么用的呢?

解决方案 »

  1.   

    用Struts2的Interceptor就够了.!  权限直接在web层判断完
      

  2.   

    在你的Interceptor里面
    用actionInvocation.getProxy().getMethod()可以得到你当前访问action对应的method,
    拿着这个判断. 如果是查的方法就直接invocation.invoke();
    否则再做权限判断
      

  3.   

    意思就是说我写个拦截器,interceptor,然后就是拦截全部。当调用一个查询的方法时候,传进来一个参数type。当这个type是某个值的时候直接在拦截器里面return,否则的话就会进行权限判定。是这样的意思吧?
      

  4.   

    精髓代码都给你了.!你还要什么? 我又不知道你其他的代码是什么?
    你crud对应4个action吧?  你这四个action有methodName对吧?
    String mn = actionInvocation.getProxy().getMethod();
    if(查询方法名.equals(mn)){
        return invocation.invoke();
    }else{
        该怎么判断权限怎么判断, 如果你增删改需要分别判断那就不要else,直接4个if
    }