技术开发 频道

基于ASP.NET AJAX框架实现表单验证编程原理


(二) 公共属性
   AuthenticationService对象还提供了如表3所示几个经常用到的属性。 
表3 AuthenticationService对象的常用属性
属性
作用
defaultLoginCompletedCallback
获取或设定默认的调用认证服务完成之后的回调函数。
defaultLogoutCompletedCallback
获取或设定默认的注销用户完成之后的回调函数。
defaultFailedCallback
获取或设定默认的登录/注销失败之后的回调函数。
isLoggedIn
获取一个布尔值的属性,表示当前用户是否已经登录。
timeout
获取或设定认证请求的超时时间,单位为毫秒。

(三) 简单举例
1、设置AuthenticationService对象的timeout属性:
Sys.Services.AuthenticationService.set_timeout(3000);
2、若是预先设定了defaultLoginCompletedCallback、defaultLogoutCompletedCallback和 defaultFailedCallback属性,那么在调用AuthenticationService对象的login()和logout()方法时,则可省去专门指定各回调函数的操作。例如,如下代码就设定了AuthenticationService的这3个属性,并定义了相应的默认回调函数:
Sys.Services.AuthenticationService.set_defaultLoginCompletedCallback(onLoginCompleted); Sys.Services.AuthenticationService.set_defaultLogoutCompletedCallback(onLogoutCompleted); Sys.Services.AuthenticationService.set_defaultFailedCallback(onAuthenticationFailed); function onLoginCompleted(validCredentials, userContext, methodName) { //………… } function onLogoutCompleted(result, userContext, methodName) { //………… } function onAuthenticationFailed(error, userContext, methodName) { //………… }

    随后,我们只需使用如下代码进行用户登录/注销就可以了。其中userName表示用户名,password表示密码:
   Sys.Services.AuthenticationService.login(userName, password, true);
    //…………
     Sys.Services.AuthenticationService.logout();
显然,这种编程思路清晰更有助于实现模块化,更值得推荐。

3、下面这个函数调用logout方法简单地清除表单中的认证cookie信息。
function OnClickLogout()
{
Sys.Services.AuthenticationService.logout(null, null, null, null);
}

4、下面这个函数调用认证服务的login方法校验用户输入的证书信息。如果认证成功,认证服务将产生一个表单认证相关cookie。

function OnClickLogin(){ //设置默认的回调函数 SetDefaultLoginCompletedCallBack(); SetDefaultLogoutCompletedCallBack(); SetDefaultFailedCallBack(); //调用认证服务认证用户输入的证书信息 Sys.Services.AuthenticationService.login(username.value, password.value, false,null,null,null,null,"User Context"); }

三、 总结
    在本篇中,我们仅罗列了ASP.NET AJAX框架的客户端认证服务中一些重要的公共成员及含义解释。并且,我们已经认识到进行以ASP.NET AJAX框架客户端中心型Web开发应当主动使用这一功能。在下篇中,我们将给出具体的示例演示。

0
相关文章