实现对第三方论坛的统一登陆几种方法
今天博客园的朋友问我怎么实现第三方论坛统一登陆的问题,事后觉得有必要写出来讨论一下,如果有更好的方案不妨共享出来供大家讨论。
我先说我的方法:
第一种:修改源代码
现在开源的论坛网上很多,如微软的Asp.Net Forums 、Discuz!NT、Community Server等都是优秀的Asp.net开源论坛。这些论坛项目结构非常清晰,模块化强,对于这样的论坛需要实现用户统一管理其实不难,只要保证其用户接口的前提下重构整个用户模块即可做到。这个方法的优点是和网站实现了无缝集成,管理方便一劳永逸。缺点是需要读懂熟悉这些开源论坛的代码,对于一些技术比较薄弱的人来说显然有一定难度,另一个缺点是必须得是开源的否则的话就无能为力了 呵呵。
第二种:跳转登陆法
相对于第一种方法这种方法实现起来简单了很多,基本不需要读代码。首先在论坛里建一个登陆页面以Get方式获取用户名密码 然后在Page_OnLoad方法里调用论坛的登陆方法进行验证登陆,成功后要调用Request.ServerVariables("HTTP_REFERER")获取来源地址并返回
。其次要在网站的登陆成功后跳转到你自定义的登陆页面,如Response.Redirect("http://bbs.aa.com/CLogin.aspx?UserName=aaa&Password=12345")进行登陆。这里有一个注意的地方就是在自定义的登陆页面处理程序中登陆成功后需要将Cookies有效期设置的长一点 否则离开页面后就会失效。 你可以在自定义的页面中根据各种登陆的结果来执行相应的处理,如登陆返回用户不存在 你可以立即创建一个用户保证网站用的用户论坛也有。在用户修改密码的时候你也需要一个接口将论坛的密码修改掉。论坛修改密码的页面直接指向网站的吧 否则的话就会有问题了。总之你需要一系列的接口来实现网站和论坛用户的统一操作。这个方法有点就是简单不需要读代码。缺点是维护了两套用户。
第三种方法:自动登陆法
相信很多朋友做过自动登陆器,其实原理一样 当用户在主站登陆成功后通过POST方式将事先格式化好的数据包发给论坛的登陆界面 然后将返回的Cookies写入本地。注册、修改密码同样。优点:可以对非开源论坛进行统一登陆,也不用读任何代码,缺点:不能跨域,因为一旦跨域网站就没有权限写论坛的Cookies了。
总结:要实现统一登陆要根据你选择什么样的论坛,来做决定。如果想解决的彻底点那就找一套开源的论坛修改用户模块。如果无所谓那就可以用第二种或第三种方法都可以实现。
如果大家谁还有比较好的方式的一定不要吝啬,共享出来啊!呵呵~
转载于:https://www.cnblogs.com/lxsfg/archive/2008/11/28/1343340.html
实现对第三方论坛的统一登陆几种方法相关推荐
- putty 保存密码 自动登陆 四种方法
Putty 基本是我在紧急时候用来登陆 Linux/Unix 终端的不二之先,因其小,开源,界面也非常实用.可是当你要在私有的机器上,经常性的要登陆很多机器的时候就觉得烦琐了,不光打开一堆的窗口,还要 ...
- 第三方库下载教程(三种方法)
一.利用Python中的pip进行第三方库的下载 首先我们要搞清楚Python中的pip是个什么东东?pip是一个安装和管理 Python包的工具,可以对python的包进行管理和升级等操作. 具体的 ...
- python官网如何下载wordcloud_分享一种下载python第三方库wordcloud库的一种方法
这周我在学习python过程中,我接触到了wordcloud库,因为它是python的第三方库,需要通过下载才能够继续使用.因为上周在学习下载第三方库jieba库后,我已经知道了下载python的第三 ...
- 多账号统一登陆,怎么实现?
来源:www.dustyblog.cn 现在几乎大部分的 App 都支持使用多个第三方账号进行登录,如:微信.QQ.微博等,我们把此称为多账号统一登陆.而这些账号的表设计,流程设计至关重要,不然后续扩 ...
- springcloud实现各个模块的统一登陆逻辑和关键代码
标题起的有点问题,因为统一登陆不一定实在同一个项目的不同模块,也可以是不同项目的不同模块.既可以是一个大的springcloud项目,也可以是多个分属于不同项目的springboot项目. 1.首先要 ...
- 第三方QQ、微博登陆
一定要把token uid 这些参数搞明白是干什么的 第一种方法是转的 (通过javascript来调用) 最近接触了一些第三方登陆的东西,弄的真是一个头,两个大>.< 今天,终于把腾 ...
- php cms 的模板修改,phpcms v9后台登陆模板修改方法和程序版本更新提示修改方法...
Phpcms V9后台登陆及版本更新提示的自定义修改 一.Phpcms V9后台登陆模板修改方法 1. 找到登陆模板文件phpcms/modules/admin/emplates/login.tpl: ...
- 快速登陆github的方法之一
最近在研究怎么更快速的登陆github,无意中让我发现了一个方法,除了论坛里各位大神修改hosts文件的方法外,还有一种方法就是 远程DNS解析 本方法仅在firefox浏览器上试过,其他浏览器自行摸 ...
- 解决AQQ登陆超时的方法
AQQ被TX河蟹了!! 从昨晚(26号)大概10点钟起,AQQ就一直登陆超时.我尝试了N种方法:重启手机.*#*#4636#*#*重新 allowed NDS.删除原来的APN重新建立CMNET和CM ...
最新文章
- mckinsey game
- SAP Commerce Cloud OCC User Role
- ABAP workbench API的使用方法
- 李宏毅机器学习课程9~~~深度学习技巧
- JavaScript Swiper插件
- PTA c语言 统计一行文本的单词个数
- 计算机网络bd,第七周-计算机网络技术
- 《SolidWorks 2017中文版机械设计从入门到精通)》——2.7 复合草图实例操作
- mysql etimedout_ETIMEDOUT
- Spark 连接kafka报错: Error while fetching metadata with correlation id xx [topicName=INVALID_REPLICATIO]
- 《单片机原理及应用(魏洪磊)》第七章第8题
- 最炫表白网站html5源码_七夕程序员的十款表白源码_html+css+js
- 软件工程大作业:自动售货机系统
- 具有硬件依赖性的计算机语言,具有硬件依赖性的计算机语言,被称为低级语言。下列哪些是低级语言?...
- 人脸自收集数据集辅助制作工具——多人在线协同标注系统
- ARF 笔记 (NeRF的风格化)
- SafetyNet Attestation API
- ES5和ES6的类,静态方法,继承实现代码
- 环信IM即时通讯的简单集成
- 汽车日行灯做E-mark认证必须接受要工厂审核吗?
热门文章
- matlab加速度转化为位移,matlab数值积分实现加速度、速度、位移的转换(时域频域积分)...
- OpenStreetMap在线地图数据下载(全)
- 微信小程---倒计时
- 软件测试是什么?我如果要学的话都该学哪些技能?
- 【天宇分析】寻找圣杯:区块链域名与钱包的价值
- Java - SpringBoot 框架详解(一)
- Account determination for entry XXX EIN not possible
- 秒懂Excel的三种引用
- 儿童教育企业官网高保真Axure原型模板
- Cloudera Manager 5.14.X 安装部署(上)