/// <summary> /// 用于渲染账户管理页面 /// </summary> /// <param name="queryParams"></param> /// <returns></returns> public JsonResult GetUserInfo(queryParam queryParams) { OrderManageDbContext db = new OrderManageDbContext(); List <User> data = db.Users.Where(u => u.Id > 0).ToList(); //var total = data.Count; // var rows = data.Skip(queryParams.offset).Take(queryParams.limit).ToList(); return(Json(data.ToList(), JsonRequestBehavior.AllowGet)); }
/// <summary> /// 用于渲染订单页面 /// </summary> /// <param name="queryParams"></param> /// <returns></returns> public JsonResult GetOrder(queryParam queryParams) { OrderManageDbContext db = new OrderManageDbContext(); DbSet <Order> data = db.Orders; List <Order> dataRows = null; if (queryParams.sortName != null && queryParams.sortOrder != null) { dataRows = OrderByHelper <Order> .OrderBy(data, queryParams.sortName, queryParams.sortOrder).ToList(); } else { dataRows = data.ToList(); } var total = dataRows.Count; var rows = dataRows.Skip(queryParams.offset).Take(queryParams.limit).ToList(); return(Json(new { total = total, rows = rows }, JsonRequestBehavior.AllowGet)); }
//protected void Application_AuthenticateRequest(object sender, EventArgs e) //{ // var app = sender as HttpApplication; // if (app.Context.User != null) // { // var user = app.Context.User; // var identity = user.Identity as FormsIdentity; // // We could explicitly construct an Principal object with roles info using System.Security.Principal.GenericPrincipal // var principalWithRoles = new GenericPrincipal(identity, identity.Ticket.UserData.Split(',')); // // Replace the user object // app.Context.User = principalWithRoles; // } //} protected void FormsAuthentication_OnAuthenticate(Object sender, FormsAuthenticationEventArgs e) { if (FormsAuthentication.CookiesSupported == true) { if (Request.Cookies[FormsAuthentication.FormsCookieName] != null) { try { //let us take out the username now string username = FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value).Name; string roles = string.Empty; using (OrderManageDbContext db = new OrderManageDbContext()) { User user = db.Users.SingleOrDefault(u => u.UserName == username); roles = user.UserLevel == 1? "管理员" : "普通用户"; } //using (userDbEntities entities = new userDbEntities()) //{ // User user = entities.Users.SingleOrDefault(u => u.username == username); // roles = user.Roles; //} //let us extract the roles from our own custom cookie //Let us set the Pricipal with our user specific details e.User = new System.Security.Principal.GenericPrincipal( new System.Security.Principal.GenericIdentity(username, "Forms"), roles.Split(';')); } catch (Exception) { //somehting went wrong } } } }
public ActionResult StartLogin(FormCollection form, string returnUrl) { if (!string.IsNullOrEmpty(form["user"])) { //FormsAuthentication.SetAuthCookie(uname,true); string useraccount = form["user"]; string password = form["password"]; OrderManageDbContext db = new OrderManageDbContext(); // List<User> data = db.Users.Where(u => u.UserName == form["user"]).ToList(); bool userValid = db.Users.Any(user => user.Account == useraccount && user.PassWord == password); //if (data.Count == 1) //{ // string RoleInfo = data[0].UserLevel == 1 ? "管理员": "普通用户"; // FormsAuthenticationTicket ticket = new FormsAuthenticationTicket // ( // 1, // 版本号?? // form["user"], // 存储用户名 // DateTime.Now, // 持续开始时间 // DateTime.Now.AddMinutes(20), // 持续结束时间 // true, // 是否持久的 // RoleInfo, // 登录用户信息,如:权限等级 // "/" // 保存cookie的路径 // ); // var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket)); // cookie.HttpOnly = true; // HttpContext.Response.Cookies.Add(cookie); // Response.Redirect(Request["ReturnUrl"]); // 重定向到用户申请的初始页面 //} if (userValid) { FormsAuthentication.SetAuthCookie(useraccount, false); if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\")) { return(Redirect(returnUrl)); } else { return(RedirectToAction("Index", "Home")); } } else { ModelState.AddModelError("", "The user name or password provided is incorrect."); } } return(View()); //if (form["user"].IsNullOrEmpty() || form["password"].IsNullOrEmpty()) //{ // //Response.Redirect("~"); //} //if (form["user"] == null || form["password"] == null) //{ //} //else //{ // FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket( // 1, // form[0], // DateTime.Now, // DateTime.Now.AddMinutes(30), // false, // "admins" // ); // string encryptedTicket = FormsAuthentication.Encrypt(authTicket); // System.Web.HttpCookie authCookie = new System.Web.HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket); // System.Web.HttpContext.Current.Response.Cookies.Add(authCookie); // Response.Redirect("~/home/index"); //} }