哥写web是个二把刀,现在有个小问题请兄弟们帮下忙,问题是这样的,我有两个站点web1和web2.他们的登陆用户是共享的。我想通过web1登陆后,在页面做个链接到web2的首页面。如果用户通过web1登陆了,那么到web2之后就不需要在验证了,如果用户没有在web1登陆而点击链接进入web2,那么web2就出现登陆的界面。请兄弟们帮帮哥,百分相赠。

解决方案 »

  1.   

    登录页面记录session。登录后页面加载时先判断是否存在session,存在继续,不存在,提示未登录信息,并且返回上一页。
      

  2.   

      if (hisid != "")
                    {
                        //传递ID
                        Response.Cookies["hisid"].Value = hisid;
                        Response .Cookies ["pwd"].Value =txtPwd .Text.Trim ();
                        Response.Redirect("DataUp.aspx");
                    }
                    else
                    {
                        Response.Write("<script>alert('检查您的用户名密码!!'); </script>"); 
                    }
      

  3.   

    sorry 
    add follow 
    -------
    "<script lanuage=javascript>alert('info');location='javascript:history.go(-1)'</script>"
      

  4.   

    这需要你将登录网站单独拿出来作为一个公共的服务(例如一个web service服务,假设我们把它叫做SSO)。当web1登录时,它把用户名、密码发给SSO服务登录并且获得了一个会话编号(例如就是123456),当web1需要关于此会话用户的具体信息的时候(例如:他的姓名、最近经常几点登录系统)可以从SSO查询到。当web1导航到web2的页面mm.aspx,它可以使用Http Get方式重定向访问web2的这样的网址:     http://www.website2.com/navigate.aspx?passport=123456&url=mm.aspxweb2的这个navigate.aspx页面首先到SSO上判断出123456是谁,然后判断此人能不访问自己的网站,如果能够,就记录下来这个人,然后再Response.Redirect到页面mm.aspx。实际上mm.aspx可以很复杂,使用UrlEncode进行编码,mm.aspx后边可以跟上?号以及多个参数。当然,如果不使用Http Get方式,而是使用Http Post方式也是可以的,看上去也更保密一点点。
      

  5.   

    跨域吗?...www.a.com 到 www.b.com还是aaa.m.com 到 bbb.m.com
    ???
      

  6.   

    你这个是单点登录SSO,网上多的是 
      

  7.   

        当客户端访问服务器时,服务器为客户端创建一个惟一的SessionID,以使在整个交互过程中始终保持状态,而交互的信息则可由应用自行指定,因此用Session方式实现SSO,不能在多个浏览器之间实现单点登录,但却可以跨域。
      

  8.   

    你用cookie或者URL传值
    这两个方法都可以解决祝你好运呀