ASP的SESSION易失效,SESSION和COOKIES同时记录登录信息
浏览量:777
在使用了2003系统后,发现,后台登录时间常常很快就失效,设置的20分钟,但没到20分钟中丢失了,需要重新登录,烦!!有是因为服务器设置了回收进程的原因,有时是它自己就失丢失,至于2003系统为什么这样,我也不明白。这里用COOKIES的方法来解决。
这是普通的正常登录
dim rs,sql
set rs=server.CreateObject("adodb.recordset")
sql="select id,username,password,flag,lastlogin,lastloginip from admin_user where username='"&username&"'"
rs.open sql,conn,1,3
if rs("password")=password then
session("username")=rs("username")
session("Mlogin")=true
'下面设置COOKIES时间
Response.Cookies("ManageId").Expires=(date()+1)
Response.Cookies("ManagePwd").Expires=(date()+1)
'下面是设置COOKIES值
response.Cookies("ManageId")=rs("id")
response.Cookies("ManagePwd")=rs("password")
end if
下面是当SESSION值丢失时
if session("Mlogin")<>true then
uid=request.Cookies("ManageId")
pwd=request.Cookies("ManagePwd")
if isnumeric(uid) then
set ur=conn.execute("select id,username,password,flag,lastlogin,lastloginip from admin_user where id="&uid)
if not ur.eof then
if pwd=ur("password") then
'正确后,重析设置SESSIOIN
session("username")=ur("username")
session("Mlogin")=true
end if
end if
end if
end if
好了,这样就可以不丢失信息了。