| 加入收藏| 设为首页| 联系我们
基于ASP.NET AJAX框架实现表单验证编程
http://www.domcn.org 文章来源:本站收藏 点击数:
> 第一句设置登录完成后要调用的回调函数——onLoginCompleted()。第二句作用是使用完回调函数最后进行简单“回收”,即清理掉前面的回调函数(置为null)。 下面相应于回调函数onLoginCompleted的实现代码: function OnLoginCompleted(validCredentials, userContext, methodName) { password.value = ; if (validCredentials == true) { username.value = ; buttonLogin.style.visibility = hidden; usernameEntry.style.visibility = hidden; passwordEntry.style.visibility = hidden; textNotLoggedIn.style.visibility = hidden; buttonLogout.style.visibility = visible; textLoggedIn.style.visibility = visible; DisplayInformation(); } else { textLoggedIn.style.visibility = hidden; textNotLoggedIn.style.visibility = visible; DisplayInformation( Login Credentials Invalid. Could not login); } } 在此回调函数中,首先把屏幕上的口令域清空。然后,判断是否浏览器中存在相应的表单认证cookie数据。有的话,则说明登录成功。接下来,把屏幕上的用户名域清空并隐藏掉刚才的登录信息,并显示已经成功登录的提示(绿字部分)。如果登录失败则显示红字部分的提示,并在下方提示行中显示登录失败信息。 注销完成的回调函数与调用失败时的回调函数与此非常类似。在此,我们不再作分析。 “登录”按钮的click事件处理器函数的代码如下所示: function OnClickLogin() { SetDefaultLoginCompletedCallBack(); SetDefaultLogoutCompletedCallBack(); SetDefaultFailedCallBack(); Sys.Services.AuthenticationService.login(username.value, password.value, true,null,null,null,null,User Context); } 前面三句设置默认的回调函数。最后一句简单地调用AuthenticationService对象的login()方法,并将用户名和密码传递给服务器。注意第三个参数表示用户的登录信息将以Cookie的形式保存下来,即使关闭后重新打开一个浏览器窗口,同样也可以得到上次的登录信息。 “注销”按钮的click事件处理函数的代码如下,其中调用了AuthenticationService对象的logout()方法,用来注销当前的用户: function OnClickLogout() { //清除掉表单认证cookie数据并实现注销 Sys.Services.AuthenticationService.logout(null, null, null, null); } 由于我们在前面已经设定了AuthenticationService对象的3个默认回调函数,所以在调用login()和logout()方法返回之后,AuthenticationService对象将自动根据当前情况选择并调用上述3个回调函数中的某一个。 到此为止,我们完成了整个示例程序的JavaScript代码编程部分。九、 运行示例程序 运行该示例程序,其初始界面将如图4所示。这时若是直接访问受保护的Secured目录,页面则被重定向回当前页面. 图4.示例程序的初始界面 输入用户名ABC,密码pass@word登录,可以看到程序即可以Ajax方式进行异步登录。登录后的界面如图5所示(注意最下面的提示信息)。此时若是点击“注销”按钮,当前的用户将被注销,程序也将返回至图4所示的界面。 此时(尚未注销),如果点击下部的超级链接,则可以访问受保护的Secured目录中的Default.aspx页面,即可浏览到该页面的内容,如前面已经显示的图1所示。十、 小结 要开发真正的商业AJAX应用程序,涉及到方方面面的问题。这也正是Web应用较之于桌面应用的复杂性所在。还好,ASP.NET AJAX框架为我们作好了全面的基础性准备(当然,还存在相当需要改善的地方)。本文(上、下篇)中,我们通过一个简单的例子,较全面地领略了ASP.NET AJAX客户端框架提供的用户安全管理机制。但是,要真正掌握这部分知识,必须先全面学习ASP.NET 2.0提供的用户认证管理原理。 上一页 [1] [2]
function OnLoginCompleted(validCredentials, userContext, methodName) { password.value = ; if (validCredentials == true) { username.value = ; buttonLogin.style.visibility = hidden; usernameEntry.style.visibility = hidden; passwordEntry.style.visibility = hidden; textNotLoggedIn.style.visibility = hidden; buttonLogout.style.visibility = visible; textLoggedIn.style.visibility = visible; DisplayInformation(); } else { textLoggedIn.style.visibility = hidden; textNotLoggedIn.style.visibility = visible; DisplayInformation( Login Credentials Invalid. Could not login); } }
function OnClickLogin() { SetDefaultLoginCompletedCallBack(); SetDefaultLogoutCompletedCallBack(); SetDefaultFailedCallBack(); Sys.Services.AuthenticationService.login(username.value, password.value, true,null,null,null,null,User Context); }
function OnClickLogout() { //清除掉表单认证cookie数据并实现注销 Sys.Services.AuthenticationService.logout(null, null, null, null); }
上一页 [1] [2]