CAS实现登出,CAS已退出 但是系统没有退出。。这是为什么?
答案:1 悬赏:20 手机版
解决时间 2021-03-12 08:56
- 提问者网友:美人性情
- 2021-03-11 16:17
CAS实现登出,CAS已退出 但是系统没有退出。。这是为什么?
最佳答案
- 五星知识达人网友:酒醒三更
- 2021-03-11 17:12
实现登出必须满足两个条件:
在执行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();
哥们,我打了这么多代码帮你,你采纳 下呀
在执行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();
哥们,我打了这么多代码帮你,你采纳 下呀
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯