namespace baoge.Admin
{
	using System;
	using System.Data;
	using System.Drawing;
	using System.Web;
	using System.Web.UI.WebControls;
	using System.Web.UI.HtmlControls;
    using System.Web.Security;
	/// <summary>
	///		login 的摘要说明。
	/// </summary>
	public class login : System.Web.UI.UserControl
	{
		protected System.Web.UI.WebControls.TextBox UserName;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
		protected System.Web.UI.WebControls.TextBox APassword;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
		protected System.Web.UI.WebControls.TextBox Crnd;
		protected System.Web.UI.WebControls.Label Label1;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator3;
		protected System.Web.UI.WebControls.Button SubMit;

		private void Page_Load(object sender, System.EventArgs e)
		{
			if(!IsPostBack)//如果页面第一次装载
			{
				rnd();//调入生成随机码
			}
		}

		public void rnd()//生成随机码
		{
			Random rnd=new Random();
			int rndi=1000+rnd.Next(8999);
			Label1.Text=rndi.ToString();
			Session["rnd"]=rndi;//用Session保寸随机码
		}
		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		///		设计器支持所需的方法 - 不要使用代码编辑器
		///		修改此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{
			this.SubMit.Click += new System.EventHandler(this.SubMit_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		private void SubMit_Click(object sender, System.EventArgs e)
		{
			//判断用户输入随机码和用Session保存的随机码是否一致
			if(Crnd.Text!=Session["rnd"].ToString())//如果不一致，则转向到独立登录页面进行重新登录
			{
				Response.Redirect("Login.aspx");
			}
			else//结果一致表明用户输入的验证码正确，则执行以下操作
			{
				//用MD5加密用户输入的密码
				string APasswordT=FormsAuthentication.HashPasswordForStoringInConfigFile(APassword.Text,"MD5").ToLower().Substring(8,16);
				//定义所需SQL语句
				string SqlLogin="select count(*) from Admin where UserName='"+UserName.Text+"' and APassword='"+APasswordT+"'";
				//引入数据库操作类
				UserRegDb Login=new UserRegDb();
				//实例化类并得到值
				int i=Login.UserRegSelect(SqlLogin);
				if(i>0)//值>0则说明，登录成功
				{
					Session["flag"]=true;
					Response.Redirect("user/admin_user.aspx?username="+Server.UrlEncode(this.UserName.Text));
					
				}
				else
				{
					Response.Write("<script>alert('登录失败');</script>");
					Response.Write("<script>history.go(-2);</script>");
				}
			}
		}
	}
}
