首页 >> 读书频道 >> 电脑 >> 在ASP应用中验证用户身份(3)
 
· 在ASP应用中验证用户身
· 在ASP应用中验证用户身
· 如何定义一个sessio
· 改变临时的Cookie
· 实 现 滚 动 新 闻
· 用密码保护页面
· 用正则表达式把用URLE
· ASP编写的一个简单的颜
· 动态包含文件 (Char
· 再谈在asp聊天室里实现
· 用ASP来构建NT服务(
· 在ASP中获得ADO的连
 
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 红楼梦:120回全本[清
· 武林寓言故事
· 2006高考录取规则
· 首批中国世界名牌产品和2
· 济南美食大全
· 管理三十六计
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

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


查看有无更新版本

关键字:技巧与经验 2006-8-28

 

作者:仙人掌工作室


三、用户身份验证

为简单计,本文只讨论在服务器端的用户身份验证。登录页面是通过调用
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
%>

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

[ 1 ]
在ASP应用中验证用户身份(3) num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑