摘要:本来在上一篇文章之中,就进行了Step1帐户登录系统的总结,并认为此系列已经暂时完成的,不过我闭关研究的东西并不是独立的,而是一个整体,在我把Step1账户登录系统应用到另一个项目的时候,发现有了新的想法,因此,延续上面的系列进行继续分享。 熟悉我的网友可能知道,我主要是面向客户端的JavaScript开发的,只有在不能由客户端的JavaScript完成的地方,我才...
阅读全文
摘要:因为本次闭关期间还有很多任务没有完成,时间已经安排不过来,因此,只能比原计划提前结束此系列文章的介绍,不过反正需要介绍的内容差不多都已经介绍完毕了,只是提前进行源码的整理而已。 因为这是一个总结的贴子,因此,先列出之前的9篇文章内容: Step1帐户登录系统(0.整体思路) Step1帐户登录系统(1.程序结构) St...
阅读全文
摘要:在前面的7篇文章之中我介绍了Step1.AccountServer的实现,现在,总体的结构和5种用户登录类型都已经介绍完毕,也就是AccountServer都已经介绍完了,原计划还要介绍OAuth的,不过不论是Google 还是Yahoo对OAuth的实现,我最终都没有能够研究成功,都只是完成了登录过程,却没有实现使用登陆后得到的Token向服务器获取到信息,我会在后面的源码之中同...
阅读全文
摘要:上面的几篇文章之中,我按照顺序讲解了Google的AuthSub,Yahoo的BBAuth,Live的Account ID,OpenID的登录,而这正是我在规划这个Step1账户登录系统时候设计要支持的几个网站,现在已经全部支持了,不过可惜的是这些都是国外的网站,国内的很多用户没有这样的账户的,这样,这个系统的可用性就会大大降低了,可惜国内的大网站们现在似乎都没有要开放API的意思...
阅读全文
摘要:在我昨天的博客之中,我我介绍了我在帐户登录系统中对Yahoo的BBAuth的登录的支持过程,上面那篇文章的代码虽然很简单,文章也不长,实际上却是我研究的最深刻的一种类型,也是我对BBAuth的研究最终让我决定将这个系统全部开源。,今天,我要讲一下,OpenID的实现,下一篇应该是讲如何支持校内网的登录,再后面我可能简单的讲讲Oauth登录(如果我确实能够研究清楚地话),有网友曾经问...
阅读全文
摘要:从系列之中的上一篇文章,我介绍了如何支持Windows Live ID来登录自己的网站,这一篇按照顺序,我介绍如何支持使用Yahoo BBAuth来登录网站,和上面的一篇文章一样,我将会仅仅对具体的逻辑进行实现,不再重复基础的原理。 关于Yahoo BBAuth的更多信息,请参考:Browser-Based Authentication。 可以先看Y...
阅读全文
摘要:在上一篇文章之中,我具体的讲解了使用Google的Authsub接口来让自己的网站支持Google帐号登陆,今天要讲到的是Windows Live ID,即使用MSN或Hotmail的帐号来登录网站,因为其中的基础原理类似,因此,假如对登录的流程和原理不清楚的话,建议去看看我前面的几篇文章,在这里,我主要讲解具体的实现和源码。 关于Windows Live ID接口...
阅读全文
摘要:前面的文章之中,我介绍了Step1帐户登录系统的基本实现架构和代码,从这一篇开始,我开始逐次讲解各种帐户的登录过程,在文章的最后,我都会贴出相应的代码,在代码之中有很多调用了前一篇文章之中讲到的基础代码,因此,可能需要对照才能明白。 先从Google的AuthSub开始讲起,为什么呢,因为AuthSub最简单,实现起来很容易,记得我开始焦头烂额的研究了一个多星期Go...
阅读全文
摘要:在前面的文章之中,我介绍了一下Step1帐户登录系统的基本编程架构,而在这篇文章,将直接贴出相关的源码,由于这次的开发比较仓促,代码存在很多不完善的地方,因此,适合仅仅用来作为如何实现的代码,而不是适合直接使用,废话少说,直接看代码: 首先是登录页面的代码,代码分为代码文件和页面文件两个部分: Login.aspx代码文件 Code highlighting p...
阅读全文
摘要:上次粗略的讲解了Step1帐户登录系统的思路之后,这一次我将介绍一下我的程序实现的结构,从这篇文章之后,就将细化到每一个接口,例如Google,Yahoo,Live等,对这些接口的使用进行详细的介绍。 先看看文件结构,说起来很简单因为一共只有以下三个文件: 1.Login.aspx,最重要的页面,在用户登录时让用户选择采用哪种帐号登录,用户选择对应的...
阅读全文
摘要:我一直想做一个帐户登录系统,到今天,终于做出了一个雏形,非常高兴,因此,我会在下面的几篇文章对这个系统进行详细的介绍,这是第一篇,介绍一下整体思路,到后面,基本上就是以代码为主了,先看个截图: 这个系统起源于单点登录系统(实际上它本身也是一个单点登录系统),这个技术现在在互联网上使用的十分广泛了,毕竟,无论是大的还是小的网站,是否有多个域名,都可太可能为每个栏目...
阅读全文
摘要:闭关到现在,进入了比较困难的时间,容易做的事情差不多都做完了(例如Step1.cn的改造和Dituren.cn的创建),不容易做的事情就很难有什么进展了,加上最近在公司特别忙,因比较懒的回来之后还研究什么,不过不管怎么说,还是没有让自己闲着,今天说说最近研究的WAP开发吧。 现在开始研究WAP不知道是有点早还是有一点晚,这个且不谈它,现在我终于上线了一个简单版本的ht...
阅读全文
摘要:这次,我来谈一点高深的话题:结构化存储(Structured Storage). 也许有人要奇怪我为什么研究到那个东西去了,不就是个打杂的么?还要研究这些东西?我先说说来由。 我的网站上的地名信息系统一共包含70万个文件,这么多的文件处理起来是很成问题的,例如采用以下方法: 1.不在服务端任何缓存处理,直接在用户访问时返回页面,这样的...
阅读全文
摘要:其实我挺不想写这一章的,因为直到现在,我还经常为编码的事情弄得云里雾里,不过考虑到我在之前的这个文章系列的目录里面已经列出了这个主题,如果不写有欺骗的嫌疑,想想还是写吧,反正没有谁把我当作一个权威的。 编码问题向来很复杂,我却不愿意向复杂了讲,我只从比较常见的讲。 编码,实际上是一个字符串的表达方式,通常从URL编码来讲,我们最常见到的编码有两种:第一种是GB2312编码,...
阅读全文
摘要:在上面的一篇,我们讲到了服务器端的缓存,我的地名信息系统有70万个页面,生成该页面的过程需要我从远程的数据库加载5个SQL数据返回的内容,还有RSS格式的新闻,因此生成一个页面是很困难的,因此我使用了服务端缓存技术使性能获得了大幅的提升,不过,又遇到了新的关于硬盘空间和流量的问题。 网站的70万个地名当然不会一天之内都会被访问,不过我的网站该栏目日访问量大约为30000,考虑到重复...
阅读全文
摘要:前一章介绍了Cache和http状态码304的技术,这属于客户端文件缓存,使用该技术可以灵活的将每一个用户访问服务器的次数和字节数减少到最低。 不过有这样一个问题存在,就是上面的缓存都是针对单个用户的,如果该用户通常在缓存时间内只访问该文件一次,是没有效果的,因此就算这个文件每天被再多的用户访问,也起不到缓存效果,而这种情况下需要使用服务端缓存。 使用服务端缓存的理由很多,...
阅读全文
摘要:实在抱歉,因为本来这个系列应该早就应该写完的,不过在我写了两章之后,没有过多久,我的网站就崩溃了,崩溃的原因是有人试图从我的网站抓取数据,从而造成了网站数据库的频繁访问,如果大家看过我以前的几篇,应该知道发生这样的事情同样会造成服务器缓存文件过多,因为我使用的是虚拟主机,因此,服务器就崩溃了。因此我觉得这个系统还存在缺陷,因此暂时没有继续介绍(当然到现在也没有改善多少),之后就是春节,春节...
阅读全文
摘要:在本系统之中,网站的主体页面并不是通过普通的aspx返回方式返回的,而是采用一种XML+XSLT的形式,来自生成,这是我个人比较喜欢的方式,这种方式在这个系统之中有着更好的优势,我现在将优势列举几条: 1.完整的实现数据和表现形式的分离,数据完全在XML文件之中实现,而页面的表现的形式完全用XSLT实现,这样使程序的结构清晰简单,易于维护; 2.可以随意的选择将结果输出到文...
阅读全文
摘要:现在第一篇,讨论我的网站之中使用的URL重写技术,实际上,该技术并不是我编写的,可能有用户能够记得,我的网站www.step1.cn原来就是一个博客,那个时候采用的系统是博客园提供的cnblogs程序(我将这个程序改装成能够在当时的虚拟主机上运行,可花了不少功夫),后来我将博客迁到这里之后,对Step1.cn进行大的改版,当时我实在舍不得这套博客程序之中使用的URL重写的技术,因此专门的从...
阅读全文
摘要:好久没有写文章了,前天写了一篇关于Google的介绍的文章,也只是随便的写一下,不过眼下我准备写一个系列文章,来介绍我在Step1网站开发上的一些心得和技术,包括相关的代码。 这一系列文章介绍的技术主要来自www.step1.cn的两个栏目地名信息系统和火车运行图,您最好先浏览一下这两个栏目,这样才能够更加了解我的设计思路。 在开始之前,我来简单的说明一下这两个系统的共同点...
阅读全文