zoukankan      html  css  js  c++  java
  • 如何防止控制客户端使其用同一帐户重复登录系统

    维护一online表,查看有登陆,就不允许再次登陆,以sessionid作为唯一标识符号,也可以产生一个GUID发到COOKIE中,以区分不同的CLIENT,再佐以JS,可以达到更好的效果,比如离开后自动离线

    解决代码:

    public virtual void Application_Start(object sender, EventArgs e)
    {
    // reset the mailer indicator
    Application["MailerStatus"] = "All Mailings Complete";

    // initialize a datatable for users online
    DataTable objUserTable = new DataTable();
    objUserTable.Columns.Add("SessionID",System.Type.GetType("System.Guid"));
    objUserTable.Columns.Add("PeopleID",System.Type.GetType("System.Int32"));
    objUserTable.Columns.Add("ShowDetail",System.Type.GetType("System.Boolean"));
    DataColumn[] pk = new DataColumn[1];
    pk[0] = objUserTable.Columns[0];
    objUserTable.PrimaryKey = pk;
    Application["UserTable"] = objUserTable;
    }

    /**////
    /// The Session_Start event adds user session information to
    /// Application["UserTable"].
    ///
    public virtual void Session_Start(object sender, EventArgs e)
    {
    Application.Lock();
    //Application.Lock ();
    DataTable objUserTable = (DataTable)Application["UserTable"];
    DataRow objRow = objUserTable.NewRow();
    Guid objGuid = Guid.NewGuid();
    objRow[0] = objGuid;
    Session["PfSessionID"] = objRow[0];
    objRow[1] = 0;
    objRow[2] = false;
    objUserTable.Rows.Add(objRow);
    Application["UserTable"] = objUserTable;
    Application.UnLock();
    }


    /**////
    /// The Session_End event deletes user session information from
    /// Application["UserTable"].
    ///
    public virtual void Session_End(object sender, EventArgs e)
    {
    Application.Lock();
    DataTable objUserTable = (DataTable)Application["UserTable"];
    objUserTable.Rows.Find((Guid)Session["PfSessionID"]).Delete();
    Application["UserTable"] = objUserTable;
    Application.UnLock();
    }

  • 相关阅读:
    .NET 2.0 SqlDependency快速上手指南
    将VS2005中文180天试用版升级到正式版的方法
    打包,并自动安装SQL数据库
    数字签证控件网马生成器制作工具
    有人写的批处理,学习一下
    ASP.NET(C#)优秀网站
    打开,另存为,属性,打印等14个JS代码
    数据库通用连接类
    网站排名查询(Alexa中文版)
    sql中取得当前月的第一天
  • 原文地址:https://www.cnblogs.com/Apollo/p/382244.html
Copyright © 2011-2022 走看看