|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
三、用户身份验证 为简朴计,本文只讨论在服务器端的用户身份验证。登录页面是通过调用 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系统的方式 下一教程: 转变字符串带有HTTP://的超级链接字符串为真正的超级链接(源码) 您可以阅读与"在ASP应用中验证用户身份(3)"相关的教程: · 在ASP应用中验证用户身份(4) · 在ASP应用中验证用户身份(5) · 在ASP应用中验证用户身份(1) · 在ASP应用中验证用户身份(2) · 用WSE在WEB服务中验证用户身份 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |