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

天下烟商

天下烟商

2016-01-29 17:15

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

   为简单计,本文只讨论在服务器端的用户身份验证。登录页面是通过调用
ASPSecurity.inc中的signUserOn函数验证用户身份的。signUserOn检查数据库中
是否存在和用户输入的名字、密码匹配的记录:
function signUserOn(aSignon, aPassword)
dim dict
' 用户输入的名字
aSignon = lcase(trim(aSignon))
' 用户输入的密码
aPassword = lcase(trim(aPassword))
' 提取用户记录转换成Dictionary对象
set dict = getUser(aSignon)
' dict对象是否包含了合法的用户信息
if isUser(dict) then
if not dict("Password") = aPassword then
signUserOn = false
Session("msg") = "密码错误."
exit function
end if

' 更新最后访问时间
call updateLastOn(aSignon)

' 用SessionID (或不支持Cookies时,ID)标识用户记录
if not Session("SupportsCookies") then
Session("ID") = getID()
dict.Add "SessionID", Session("ID")
else
dict.Add "SessionID", Session.SessionID
end if

' 记录最后活动时间
dict.add "LastActivity", now()
' 在Session中记录当前用户信息
set Session("User") = dict
' 将当前用户加入正在访问用户列表
call addUserToApplication(dict)
signUserOn = true
else
Session("msg") = "用户名称错误"
signUserOn = false
end if
end function



   如果用户输入的名字和密码与数据库中的记录匹配,signUserOn函数返回
True。此时,用户被授权,Session("User")变量包含了一个Dictionary对象,其中
含有该用户的数据库记录的字段名称和值。另外,这里还把Dictionary对象加入到
Application("User")数组,这是为了便于获得当前正在访问安全站点的用户清
单。 signUserOn用到了ASPSecurity.inc中的许多子过程。由于大多数子过程都很
相似,下面只讨论其中的getUser。该函数先连接数据库,然后提取对应的用户记
录,最后将记录转换为Dictionary对象并返回它,如下所示:
function getUser(aSignon)
dim conn
dim R
set conn = openConnection()
set R = conn.Execute("SELECT * FROM Users WHERE Users.Signon='" &
aSignon & "'")
if err.number < 0 then
' 输出错误信息
......
response.end
end if
if not R.EOF then
set getUser = recordToDictionary(R)
else
set getUser = nothing
end if
R.Close
set R = nothing
conn.close
set conn = nothing
end function


   如果用户在注册页面中单击的是注册按钮,则在经过必要的检查之后就可以在数
据库中生成新的用户记录了。注册成功的用户会自动进入安全页面,这一部分操作和
普通的登录过程是一样的。

   身份验证和注册操作都将错误信息存储在Session("msg")变量中。这些错误信
息可以显示在返回给用户的HTML页面中:
< %
if Session("msg") < "" then
' 显示错误信息
......
Session("msg") = ""
end if
%

 
展开更多 50%)
分享

猜你喜欢

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

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

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

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

s8lol主宰符文怎么配

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

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

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

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

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

lol偷钱流符文搭配推荐

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

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

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

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

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

lolAD刺客新符文搭配推荐

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

一个投票系统的源程序(coveryourasp.com)

一个投票系统的源程序(coveryourasp.com)

Photoshop基础教程:细说图层混合模式之压暗篇

Photoshop基础教程:细说图层混合模式之压暗篇
下拉加载更多内容 ↓