编译语言sql c#
编译环境SQL Server 2019
b站链接添加链接描述www.bilibili.com/video/BV18V411k731/
登录界面
namespace Educational
{
/// <summary>
/// Login 的摘要说明
/// </summary>
public class Login : IHttpHandler,IRequiresSessionState
{
//还差当 登陆失败时的提示消息
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/html";
string login=context.Request.Form["Login"];
//string inform = context.Request.Form["InformJS"]; //前台传递过来的json串
//JObject informjs = (JObject)JsonConvert.DeserializeObject(inform);
//Person p1 = new Person();
//p1.UserName = informjs["username"].ToString();
//p1.PassWord = UserMd5(informjs["password"].ToString());
if (string.IsNullOrEmpty(login)) //第一次登陆 提交为空
{
HttpCookie cookie1 = context.Request.Cookies["UserName"];
if (cookie1 == null)
{
var data = new {
UserName = "" , PassWord = "" };
string html = CommonHelper.RenderHtml("login.html", data);
context.Response.Write(html);
}
else
{
string Islogin1 = (string)context.Session["PassWord"];
HttpCookie cookiep = context.Request.Cookies["PassWord"];
string username2 = cookie1.Value;
string Islogin2;
if (cookiep != null)
{
Islogin2 = cookiep.Value;
try
{
string username1=SqlHelper.ExecuteScalar("select UserName from Admin_Login where PassWord=@password", new SqlParameter("@password", UserMd5(Islogin2))).ToString();
if (!String.Equals(username1,username2))
{
Islogin2 = "";
}
}
catch(Exception e)
{
Islogin2 = "";
}
}
else
{
Islogin2 = "";
}
var data = new {
UserName = username2 ,PassWord= Islogin2 };
string html = CommonHelper.RenderHtml("login.html", data);
context.Response.Write(html);
}
}
else //第二次登陆,判断账号密码是否正确
{
JObject loginjs = (JObject)JsonConvert.DeserializeObject(login);
string username = loginjs["userName"].ToString();
string password = UserMd5(loginjs["passWord"].ToString());//设置Cookie
string password1 = loginjs["passWord"].ToString();
string remember = loginjs["isRemember"].ToString();
HttpCookie cookie = new HttpCookie("UserName", username);
cookie.Expires = DateTime.Now.AddDays(1);
context.Response.SetCookie(cookie);
int count;
try
{
count =int.Parse(SqlHelper.ExecuteScalar("select count(*) from Admin_Login where UserName=@username" ,new SqlParameter("@username",username)).ToString());
}
catch(Exception e)
{
count = 0;
//数据库错误
}
if(count<=0)
{
//用户名不存在
HttpCookie cookie1 = context.Request.Cookies["UserName"];
string username2 = cookie1.Value;
var data1 = new {
Message = "Noexist", UserName = username2 ,PassWord=""};
string data=new JavaScriptSerializer().Serialize(data1);
context.Response.Write(data);
} //用户名不存在
else
{
string pass=SqlHelper.ExecuteScalar("select PassWord from Admin_Login where UserName=@username",new SqlParameter("@username",username)).ToString();
if(pass==password)
{
//登陆成功 写入session
context.Session["UserName"] = username;
if (remember == "True")
{
context.Session["PassWord"] = password1; //Session要存 密码
HttpCookie cookiep = new HttpCookie("PassWord",password1); //Cookie也要存密码,判断第二次登陆的时候用
cookiep.Expires = DateTime.Now.AddDays(1);
context.Response.SetCookie(cookiep);
}
else //用户第二次登陆时 如果未选择记住密码 则注销密码
{
HttpCookie cookie1 = new HttpCookie("PassWord",null);
context.Response.SetCookie(cookie1);
cookie1.Expires = DateTime.Now.AddDays(-1000);
}
var data1 = new {
Message = "Succeed", UserName = "", PassWord = "" };
string data = new JavaScriptSerializer().Serialize(data1);
context.Response.Write(data);
// context.Response.Redirect("Admin_Action.ashx");
} //登陆成功
else //密码错误
{
HttpCookie cookie1 = context.Request.Cookies["UserName"]