在ASP应用中验证用户身份(5)

聊齋的鬼

聊齋的鬼

2016-01-29 17:14

在ASP应用中验证用户身份(5),在ASP应用中验证用户身份(5)
  五、会话终止

   当ASP会话结束时会运行global.asa中的Session_OnEnd方法,可以在这里删除
保存在Application("Users")数组中由于超时而被终止会话的用户。记录用户是由
于什么原因(超时还是显式退出)终止会话往往很有用处,下面的代码通过更新Users
表的TimedOut字段实现该功能:
sub Session_OnEnd
dim AppUsers
dim aUser
dim I
dim j
dim conn
dim supportsCookies
dim foundUser
on error resume next
supportsCookies=Session("SupportsCookies")
Application.Lock
AppUsers = Application("Users")
foundUser = false
for I = 0 to ubound(AppUsers)
set aUser = AppUsers(I)
if supportsCookies then
if aUser("SessionID") = Session.SessionID then
foundUser = true
end if
elseif dateAdd("n", Session.timeout, aUser("LastActivity")) < now()
then
foundUser = true
end if
if foundUser then
set conn = server.createObject("ADODB.Connection")
conn.ConnectionString=Session("ConnectionString")
conn.ConnectionTimeout=Session("ConnectionTimeout")
conn.mode=Session("Mode")
conn.open
conn.execute "UPDATE Users SET TimedOut=1 WHERE Users.Signon='" &
aUser("Signon") & "'"
conn.close
set conn=nothing
set aUser=nothing
set AppUsers(I) = nothing
for j = I to ubound(AppUsers) - 1
set AppUsers(j) = AppUsers(j + 1)
next
if ubound(AppUsers) 0 then
redim preserve AppUsers(ubound(AppUsers) - 1)
else
AppUsers = Array()
end if
exit for
end if
next
Application("Users") = AppUsers
Application.UnLock
end sub

 
展开更多 50%)
分享

猜你喜欢

在ASP应用中验证用户身份(5)

ASP
在ASP应用中验证用户身份(5)

在ASP应用中验证用户身份(1)

ASP
在ASP应用中验证用户身份(1)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在ASP应用中验证用户身份(2)

ASP
在ASP应用中验证用户身份(2)

在ASP应用中验证用户身份(3)

ASP
在ASP应用中验证用户身份(3)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在ASP应用中验证用户身份(4)

ASP
在ASP应用中验证用户身份(4)

利用SQLSERVER存储过程实现ASP用户身份验证

ASP
利用SQLSERVER存储过程实现ASP用户身份验证

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

网上“店铺”DIY(2)

网上“店铺”DIY(2)

不用白不用!给电脑请个免费垃圾清理工

不用白不用!给电脑请个免费垃圾清理工
下拉加载更多内容 ↓