如何退出登陆?

towdney 2004-10-25 10:49:53
jsp页面使用帐号登陆,然后一直用session.setAttribute(),getAttribute()传递属性,现在要实现退出登录,如何实现真正的退出,中断session?
...全文
476 点赞 收藏 24
写回复
24 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
以梦为马 2005-01-21
写一个logout servlet,里面remove...
回复
紫罗兰Cherry 2005-01-21
登陆页面时,将相关信息存放在一个session对象中,退出时清空该信息就可以了。

在每一个需要检测是否登陆的页面中来检查该信息是否为空,就知道是否登陆。
回复
tracylau 2005-01-21
不要直接action到main页面,
先跳转到一个temp的jsp页面,在这个页面去跳转到main页,
酱紫就后退不到以前的页面.....又跳到那个main页了~~~
回复
towdney 2004-12-19
谢谢,虽然session已经kill了,可是点击IE浏览器“后退”键,网页还在,怎样让网页过期。
回复
xuexueba 2004-11-08
回复
luckydog903 2004-10-28
<%
//登录注销,移走session值
String

logoutFlag=request.getParameter("logoutFlag")==null?"":request.getParameter("logoutFlag").toString();
if (logoutFlag.equals("logout")){
session.removeAttribute("userID");
session.removeAttribute("mngID");
session.removeAttribute("userName");
session.removeAttribute("empID");
session.removeAttribute("deptID");
session.removeAttribute("deptName");
session.removeAttribute("bmng");
session.removeAttribute("dwdm");
response.sendRedirect("mainpage.jsp");
}
//
%>

<script language="JavaScript" type="text/JavaScript">

//注销脚本事件
function dataOnlogout()
{
formEdit.logoutFlag.value="logout" ;
formEdit.action="mainpage.jsp"
formEdit.submit();

}

</script>
回复
towdney 2004-10-27
高手,能否说详细一点呢?
回复
rainboy20024 2004-10-27
jiankou2001(狗狗) :

session.removeAttribute(String name)//只是其中的一个属性
回复
cold_blooded 2004-10-27
对于简单应用,可以使用如下方法。
在application里 就是Conext中,加入用户列表。
用户一登陆,向列表里写信息。(session info)

退出时,在列表中删除改用户,同时session.invalidate()。

当然此外还有些问题,如session超时等。可用listener等方法来解决。

回复
tianjiyangfan 2004-10-27
我也见过这个问题,请高人指点.
回复
towdney 2004-10-27
我把楼上的代码最后几行
<SCRIPT language="javascript">
alert("您已注销成功!");
window.close();
</SCRIPT>
改为
<SCRIPT language="javascript">
alert("您已注销成功!");
window.location.href = "../index.html";
</SCRIPT>

注销后回到index.html首页上,在网址栏粘贴刚才的某个jsp网页,还是能够顺利显示,这说明session并没有真正杀掉啊。
回复
cheyo车油 2004-10-27
请问 ChDw(米) ,你的意思是不是:
如果用户创造一个session传到服务器上来, 他的session并不会在服务器上有效??
回复
jiankou2001 2004-10-27
session.invalidate()和session.removeAttribute(String name)有什么区别???
回复
EdifierX 2004-10-27
session.invalidate();
回复
towdney 2004-10-27
up
回复
ChDw 2004-10-26
一个用户是不太可能在你的Server上面写代码的(只有在你Server上面的代码中session才有效)
回复
towdney 2004-10-26
那到底如何才是安全地退出呢?
回复
IwantFlay 2004-10-26
session.invalidate();
回复
cheyo车油 2004-10-26
xinfeng802(流浪) , 你的方法是不是不太安全??

如果某用户,知道你是代码里,登陆的session是"flag"作为标记的

他如果自己写一个网页, 创造一个"flag"的session,并且让他的值为"true", 不是可以绕过验证了?

回复
xinfeng802 2004-10-26
<%@page contentType="text/html; charset=gb2312"%>
<%@page language="java"%>
<%
String user;
user= (String) session.getValue("flag");
if (user.trim()!="true")
{%>
<SCRIPT language="javascript">
alert("您还没有登录!");
</SCRIPT>

<%}
else{
session.invalidate();

}
%>
<SCRIPT language="javascript">
alert("您已注销成功!");
window.close();
</SCRIPT>
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告