您的位置:首页 > 编程语言 > ASP

在ASP.NET MVC3 中利用JSONP跨域登录WEB系统(加强版)

2015-05-13 10:18 369 查看
本文为 在ASP.NET MVC3 中利用JSONP跨域登录WEB系统 这篇文章的改进版。在上文中首先感谢园友们的热心讨论。本文将对跨域登录进行一改进,改进内容如下:

跨域登录后不同系统之间的cookie管理。
主系统注销登录后子系统同步注销。
支持除IE外的FireFox 、Opera、Chrome、Safari主流浏览器。

若要管理好cookie,这里以为多个ASP.NET MVC3 功能为例。用.NET的 IFormsAuthenticationService 进行权限认证。我们只要在web.config中这样设置:

<authentication mode="Forms">

<forms loginUrl="~/Account/LogOn" timeout="2880" name="App1" />

</authentication>

请注意红色部分,这样IIS set-cookie 权限时将以App1作为Cookie名,否则会用asp.net默认名称作为cookie名称。这样我们有多系统jsonp登录时,保存用户的cookie就会被覆盖。

如果您也感兴趣,可以使用抓包工具查看IIS 对用户权限认证 set-cookie 过程。

在jQuery1.5中使用jsonp我发现只有IE下正常,其他的浏览器都不正常。经过一番搜索找到解决方案:http://code.google.com/p/jquery-jsonp/ 这里有一个相对完整的解决方案。使用该js插件,就可以多浏览器支持jsonp了。

最后附上程序截图以及完整的相关demo.





本例demo这里下载:ryanding/JSONP.rar
http://www.cnblogs.com/ryanding/archive/2011/05/05/2027183.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: