All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
SQL Server无法打开用户默认数据库_[SQL Server教程]
SQL循序渐进(8)删除记录_[SQL,Server教程]
C#教程:C#发展历程以及特点
Delphi类似Windows xp的程序界面
采用AJAX提高网站程序的带宽性能详解_[AJAX教程]
解决Ajax中文乱码问题_[AJAX教程]
C#简介-,类和对象_[Asp.Net教程]
PHP实现发表文章时自动保存图片_[PHP教程]
ASP.NET,2.0服务器控件之复合控件样式_[Asp.Net教程]
在ASP.NET,2.0中使用样式、主题和皮肤_.net资料_编程技术
Reading number is top 10 pictures
性感丰满身材火爆de美女2
photos of ashlynn brooke(ashlynn brooke的美图)
The world's top ten most beautiful railway station1
运动的范冰冰2
The world first motorcycle will be auctioned for 21000 pounds
Wild animals melee moment of life and death2
Cesarean section, bloody, silently into it!2
Sora aoi mirror memorial classics2
Soldier saw beauty after the reaction
真正的国产-非模拍 贵在是真实2
Download software ranking
The cock of the Grosvenor LTD handsome
The Bermuda triangle2
打鸟视频
Be there or be square
asp.net技术内幕
Unix video tutorial4
Tram sex maniac 2 (H) rar bag17
Such love down(擒爱记)
网页特效实例大全
传奇私服架设教程
归海一刀 published in(发表于) 2014/1/30 0:51:51 Edit(编辑)
Asp.Net,Ajax,学习笔记17,使用Authentication,Service_[Asp.Net教程]

Asp.Net,Ajax,学习笔记17,使用Authentication,Service_[Asp.Net教程]

Asp.Net Ajax 学习笔记17 使用Authentication Service_[Asp.Net教程]

为了保证Asp.Net Ajax调用的WebService的安全,保证不被任意调用有两种方法。


一、FormsAuthentication模式


这种模式是在WebService的方法中检查调用WebService的用户是否登陆。在调用方法里面首先就检测HttpContext.Current.User.Identity.IsAuthenticated是否为真,为真就是已授权用户否则就是未授权用户。这种方式需要使用FormsAuthentication.SetAuthCookie("Jeffrey Zhao", false)方法设置某个用户未已授权用户,当然也可以通过FormsAuthentication的框架来设置用户授权。通过FormsAuthentication.SignOut方法退出登陆。


二、AuthenticationService模式


这种模式是在客户端设置用户登陆。上一种方法是在服务端通过调用FormsAuthentication类的静态方法来设置用户登陆。我想也可以提供一个WebService来调用FormsAuthentication的静态方法来设置用户登陆。


要使用AuthenticationService模式,首先需要在webConfig中节点下节点下节点下添加 节点。requireSSL表示此站点是否是使用Https协议来进行通信的。


用户身份验证(登陆):login方法
Sys.Services.AuthenticationService.login(
userName,//用户名
password, //密码
isPersistent, //是否生成持久Cookie
customInfo, //预留字段
redirectUrl, //登陆成功后跳转目标
loginCompletedCallback, //身份验证完成回调函数
failedCallback, //身份验证出错回调函数
userContext//用户任意指定的上下文对象
)


注意customInfo参数在此处没有任何意义,可能在下一版本有意义。不管用户名和密码是否匹配,只要进行了login并且没有出现网络异常或其他异常,都调用loginCompletedCallback回调函数。


登陆完成的回调函数


function loginCompletedCallback(
validCredentials, //身份验证是否成功
userContext, // 用户随意指定的上下文对象
methodName//即"….login"
)


validCredentials为true表名用户名和密码匹配,否则为用户名和密码不匹配。
失败的回调函数
function failedCallback(
error, // 错误对象
userContext, // 用户随意指定的上下文对象
methodName//即"….login"
)


注销功能:logout方法
Sys.Services.AuthenticationService.logout(
redirectUrl, // 注销后跳转页面
logoutCompletedCallback, //注销成功回调函数
failedCallback, //注销失败回调函数
userContext//用户任意指定的上下文对象
)


注销成功的回调函数


function logoutCompletedCallback(
result, // 预留参数
userContext, // 用户随意指定的上下文对象
methodName//即"….logout"
)


注销失败的回调函数


function failedCallback(
error, // 错误对象
userContext, // 用户随意指定的上下文对象
methodName//即"….logout"
)


timeout属性:用来设置或得到超时时间。


defaultLoginCompletedCallback属性:默认登陆成功的回调函数地址。当login函数指定了登陆成功的回调函数,以login函数的参数为准。


defaultLogoutCompletedCallback属性:默认注销成功的回调函数地址。


defaultFailedCallback属性:默认失败的回调函数地址。


在这里有几点需要说明:


AuthenticationService使用的是默认的memberShipProvider的框架,如果不扩展AuthenticationService服务,需要使用asp.net 配置工具进行用户的配置。否则,login函数不知道如何去哪个数据库去验证用户。asp.net配置工具可以完全的接管用户的管理,需要在配置中创建用户并设置密码。
使用asp.net配置工具时,如果要把数据库作为mdf文件存放在App_Data文件夹中,必须把SqlExpress服务打开,否则创建不了数据库文件。如果不是用数据库文件,使用sql Server 2005远程连接,则可以不用打开SqlExpress服务。







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.