单点登录:从唯一一个口子登录进入系统,可以把用户名、密码保存到一个文件里面;在链接其他系统的时候,查询文件用户名、密码是否存在,如果存在直接进入、否则链接到登录窗口。退出系统的时候,清空保存用户信息的文件。
这样以来,就不存在session过期的问题。
qq、微信,同一部手机不会因为重启而重复输入用户名、密码,就是这个道理。

解决方案 »

  1.   

    在一个地方登录,然后给账户分配一个token,跳转其他网站的时候传递这个token来验证
      

  2.   

    单点登录,不知楼主是做网站还是做系统了,网站的话搞cookie就可以了,把验证信息加个密,验证时解密就可以(加密方法网上一大堆),如果是系统,那写文件吧,这个比较简单
      

  3.   

    asp.net实现单点登录示例
    protected void Button1_Click(object sender, EventArgs e)//获取Web.config中配置的数据库连接字符串
        {
            string sqlstr = System.Configuration.ConfigurationManager.AppSettings["con"].ToString();
            SqlConnection conn = new SqlConnection(sqlstr);//连接数据库
            conn.Open();                                   //打开数据库
            SqlCommand cmd = new SqlCommand();             //创建SqlCommand对象
            cmd.Connection = conn;                          //设置该对象使用conn连接数据库
            cmd.CommandType = CommandType.Text;             //设置类型
            cmd.CommandText = "select count(*) from Tb_Login where UseName='" + txtUserName.Text.Trim() + "' and UsePassword='"+txtPwd.Text.Trim()+"'";
    //设置sql语句
            int flag = int.Parse(cmd.ExecuteScalar().ToString());//执行sql语句并获取返回值
            if (flag > 0)                      //如果大于0
            {
                Page.ClientScript.RegisterStartupScript(this.Parent.GetType(), "", "alert('登录成功');", true);//说明登陆成功
            }//codego.net/tags/11/1/
            else
            {
                Page.ClientScript.RegisterStartupScript(this.Parent.GetType(), "", "alert('登录失败');", true);//否则登陆失败
            }
            conn.Close();//关闭连接
        }