/// <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));
        }
Пример #3
0
        //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");

            //}
        }