功能描述:从我的页面,链接到其它页面(比如163的邮箱mail.163.com),自动填入用户名、口令,自动执行“登录”进入邮箱。
目的:对要进行登录的页面进行统一的身份识别,即我可以自建一用户,对应到各页面的用户上,这样只要登录到我的页面上,再进入其它页面时就不需要再次输入用户名、口令等信息了。用win窗体,Microsoft IE Control (axWebBrowser)控件可以实现类似的功能,但用页面怎么实现?
用javascript?还是后台的C#? 大家有什么好办法?好思路?请不吝赐教!

解决方案 »

  1.   

    仅供参考
    http://blog.csdn.net/LoveCherry/archive/2005/04/22/358308.aspx
    不是很明白你的需求,别人为什么要在你的页面用他们邮箱的帐号登录呢?登录后直接转到邮箱页面那不等于公开了他邮箱密码了吗
      

  2.   

    http://www.microsoft.com/china/msdn/library/webservices/asp.net/singlesignon.mspx
      

  3.   

    以登陆邮箱为例,先查看别人提供的邮箱的登陆表单(form)(比如163.com的),然后用你自己的程序生成一个中间过度页面,包含相同的登陆表单,自然也包含登陆用户名和密码,并用js自动提交(可设置表单样式的display为none,这样你的用户就看不到表单了),不就解决了。其实思路就是用程序自动生成表单(相当于自动填写表单),用js自动提交(代替用鼠标点“确定”)
      

  4.   

    一个简单的办法
    你可在此登录页面,做其它网站的链接,在领导点击此链接时,并不直接转到所对应的网站去,而是先提交到本网站,去判断此人是否已经登录,如果不是,直接转向该网站;如果已登录,则转到一个提交页面,把用户的名称和密码放到此页面的控件里面,当页面加载完毕时,用脚本自动提交此页面,方向是另一个网站的接收页面,此接收页面接收到之后,自动判断用户,并生成他们的信息.
    上述方式在ASP时代是可行的,但现在.NET不支持提交到其他页面,实现有点难度和问题.
    另一个方法,你可将用户的信息存放在数据库中,每一个网站,当判断当前用户未登录时,均先到数据库中,根据当前用户浏览器所在的sessionid求取此用户的信息,有则直接取出来,无则不响应.此方法要求用户不能关闭浏览器,否则关闭之后,又重新生成 一个新的sessionid就取不到了.