发布网友 发布时间:2022-10-11 02:26
共1个回答
热心网友 时间:2023-10-10 17:02
实现登出必须满足两个条件:
在执行logout操作的时候,要清空session,
在访问页面之前,要判断session是否有值。如果有,则继续访问,如果没有,跳到登录页面。
当然在正常登录系统的时候也要把用户信息写到session中去。
你上述的这个问题,说明了你访问的这个CAS系统写的很糟糕。。。。安全漏洞极大。。。这应该是写一个带登录的系统最基础的问题了。可以说这不是安全漏洞了,这就是个BUG。。
追问我能继续访问A系统的话 也就是说我A系统的session在登出的时候没有被销毁 对吧? 那我应该怎么改呢??急啊急。。大神帮帮忙追答我上面不是说了嘛,得两个步骤。
具体点的话,你可以在登录的时候把登录的用户写入SESSION中:
User user = new User();
user.setName(登录用户名);
session.setAttribute("runTimeUser",user);
然后在访问页面之前都判断一下Session:
if(Session.getAttribute("runTimeUser")!=null){
User user = (User)Session.getAttribute("runTimeUser");
String userName = user.getName();
//得到用户,正常访问页面;
}else{
//session里没有登录用户,访问失败,跳到登录页面;
}
在注销的时候:
session.invalidate();
哥们,我打了这么多代码帮你,你采纳 下呀