在登录处理的页(如login.jsp)中将设置了权限的用户对象存在session中,然后设置session的保留时间足够长,登录以后转到其他页面,可以获取session中的用户对象,再通过用户对象本身取得权限值。
可参考如下代码:
User u=new User(name,id);//构造用户对象
u.setPower("admin");//设置权限
session = request.getSession();
session.setAttribute("user", u);//在session中保存用户对象
。。
。。
在其他页中:
session = request.getSession();
User u = (User)session.getAttribute("user");//获取用户对象
String power=u.getPower();//获取用户权限

解决方案 »

  1.   

    我在ValueObject中创建了一个voUserLoin对象,实现了setIsLogin()方法,并在登陆页面验证后通过setIsLogin赋给了voUserLogin新的对象属性,当跳转到下一个页面的时候我new一个voUserLogin()来获取其属性,请问是初始属性还是新赋值后的属性?
      

  2.   

    new出来的对象,要是没给它赋值当然是初始的,你要给这个对象赋从session中获得的对象的值
      

  3.   

    我在sessionBean中只是验证了一下身份,实际没什么作用,并在login.jsp给voUserInfo对象的private int isLogon;赋了1;然后跳转到下一个页面,我在这个页面中又new了一下voUserInfo,并调用了getIsLogon方法获得voUserInfo的值isLogon,我检测出在这个页面isLogon的值为0,何解??
      

  4.   

    老大,上面哥们不是给你写的很清楚了吗?
    第一个页面中:
    session = request.getSession();
    session.setAttribute("voUserInfo", voUserInfo);//在session中保存用户对象
    。。
    。。
    第二个页面中:
    session = request.getSession();
    VoUserInfo voUserInfo = (VoUserInfo)session.getAttribute("voUserInfo");//获取用户对象
    String isLogon=voUserInfo .getIsLogon();//获取用户权限这样就可以了 
    你new 一个对象,他就是新的对象了,不是原来的对象了!
    记住:一个类的多个对象都有各自的生存周期,都是独立的!