Beispiel #1
0
        public IActionResult login([FromBody] login value)
        {
            if (string.IsNullOrEmpty(value.username))
            {
                return(Ok(new { status = 409, message = "Username/Email Required" }));
            }

            if (string.IsNullOrEmpty(value.password))
            {
                return(Ok(new { status = 409, message = "Password Required" }));
            }

            Authorize auth = new Authorize();
            sysUser   user = mContext.sysUser.Where(x => x.username == value.username || x.email == value.username).SingleOrDefault();

            if (user == null)
            {
                return(Ok(new { status = 409, message = "Username/email is not found" }));
            }

            bool validate = auth.validateLoginPassword(value.password, user.password);

            if (!validate)
            {
                return(Ok(new { status = 409, message = "Wrong Password" }));
            }

            string defaultMenu = mContext.sysModuleRole.Include(x => x.module).Where(x => x.userRoleId == user.roleId && x.isActive == true && x.isDefault == true).Select(x => "/" + x.module.controller + "/" + x.module.view).SingleOrDefault();

            HttpContext.Session.SetString("fullname", user.name);
            HttpContext.Session.SetInt32("roleId", user.roleId);

            return(Ok(new { status = 200, message = defaultMenu }));
        }
Beispiel #2
0
 public Dictionary <string, object> add([FromBody] sysUser user)
 {
     user.Valid(message, db);
     if (message.Count == 0)
     {
         user.Password   = Ricky.Common.EncryptString(user.Password);
         user.CreateTime = Ricky.Common.NowDate;
         db.sysUsers.Add(user);
         db.SaveChanges();
         foreach (int RoleId in user.RoleIds)
         {
             sysUserInRole userRole = new sysUserInRole();
             userRole.RoleId = RoleId;
             userRole.UserId = user.UserId;
             db.sysUserInRoles.Add(userRole);
         }
         foreach (int EstateId in user.EstateIds)
         {
             sysUserInEstate userEstate = new sysUserInEstate();
             userEstate.EstateId = EstateId;
             userEstate.UserId   = user.UserId;
             db.sysUserInEstates.Add(userEstate);
         }
         db.SaveChanges();
     }
     else
     {
         result["code"] = "failed";
     }
     result["message"] = message;
     return(result);
 }
Beispiel #3
0
 public Dictionary <string, object> Index([FromBody] LoginModel model)
 {
     if (ModelState.IsValid)
     {
         string  password = Ricky.Common.EncryptString(model.password);
         sysUser user     = db.sysUsers.FirstOrDefault(w => w.LoginName == model.name && w.Password == password);
         if (user != null)
         {
             user.LastLoginTime = Ricky.Common.NowDate;
             user.LastLoginIp   = Request.RequestUri.Host;
             db.SaveChanges();
             FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(0, model.name, DateTime.Now,
                                                                              DateTime.Now.AddHours(12), true, string.Format("{0}&{1}", model.name, model.password),
                                                                              FormsAuthentication.FormsCookiePath);
             result["ticket"] = FormsAuthentication.Encrypt(ticket);
         }
         else
         {
             result["code"]    = "failed";
             result["message"] = new List <string> {
                 "用户名或密码错误"
             };
         }
     }
     else
     {
         result["code"]    = "failed";
         result["message"] = GetErrorMessage(ModelState.Values);
     }
     return(result);
 }
Beispiel #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //为管理员和普通职员分配不同界面
            sysUser  user       = new sysUser();
            MSysUser objsysuser = new MSysUser();

            objsysuser.UserName = Session["loginName"].ToString();
            DataTable dt = user.SelectSysUserByUserName(objsysuser);

            if (dt.Rows.Count > 0)
            {
                if (Convert.ToBoolean(Session["IsSysManager"]))
                {
                    AdminNav1.Visible = true;
                    UserNav1.Visible  = false;
                }
                else
                {
                    AdminNav1.Visible = false;
                    UserNav1.Visible  = true;
                }
            }
            else
            {
                Response.Redirect("~/Default.aspx");
            }
        }
Beispiel #5
0
        protected void Application_End(object sender, EventArgs e)
        {
            //  在应用程序关闭时运行的代码
            sysUser  sysuser    = new sysUser();
            MSysUser objsysuser = new MSysUser();

            objsysuser.UserName  = Session["loginName"].ToString();
            objsysuser.SignState = false;
            sysuser.UpdateSysUserSignStateByUserName(objsysuser);
        }
        protected override void Initialize(System.Web.Http.Controllers.HttpControllerContext controllerContext)
        {
            var authorization = controllerContext.Request.Headers.Authorization;

            if (authorization != null && !string.IsNullOrEmpty(authorization.Parameter))
            {
                FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(authorization.Parameter);
                user           = db.sysUsers.FirstOrDefault(w => w.LoginName == ticket.Name);
                user.EstateIds = (from b in db.sysUserInEstates where b.UserId == user.UserId select b.EstateId).ToArray();
            }
            base.Initialize(controllerContext);
        }
Beispiel #7
0
 protected void imgBtnLogonOut_Click(object sender, ImageClickEventArgs e)
 {
     if (Session["loginName"] != null)
     {
         sysUser  user       = new sysUser();
         MSysUser objsysuser = new MSysUser();
         objsysuser.UserName = Session["loginName"].ToString();
         user.UpdateSysUserSignStateByUserName(objsysuser);
     }
     Session["loginName"] = null;
     Response.Redirect("~/Default.aspx");
 }
Beispiel #8
0
 public Dictionary <string, object> modify([FromBody] sysUser user)
 {
     user.Valid(message, db, false);
     if (message.Count == 0)
     {
         sysUser newUser = db.sysUsers.FirstOrDefault(w => w.UserId == user.UserId);
         if (!user.LoginName.Equals(newUser.LoginName) && db.sysUsers.Count(w => w.LoginName == user.LoginName) > 0)
         {
             message.Add("账户名称已存在");
         }
         else
         {
             Ricky.ObjectCopy.Copy <sysUser>(user, newUser, new string[] { "Password", "CreateTime", "IsSuper", "LastLoginIp", "LastLoginTime", "Status" });
             if (!string.IsNullOrEmpty(user.Password))
             {
                 newUser.Password = Ricky.Common.EncryptString(user.Password);
             }
             var a = from b in db.sysUserInRoles where b.UserId == user.UserId select b;
             db.sysUserInRoles.RemoveRange(a);
             var userOldEsates = from b in db.sysUserInEstates where b.UserId == user.UserId select b;
             db.sysUserInEstates.RemoveRange(userOldEsates);
             db.SaveChanges();
             foreach (int RoleId in user.RoleIds)
             {
                 sysUserInRole userRole = new sysUserInRole();
                 userRole.RoleId = RoleId;
                 userRole.UserId = user.UserId;
                 db.sysUserInRoles.Add(userRole);
             }
             foreach (int EstateId in user.EstateIds)
             {
                 sysUserInEstate userEstate = new sysUserInEstate();
                 userEstate.EstateId = EstateId;
                 userEstate.UserId   = user.UserId;
                 db.sysUserInEstates.Add(userEstate);
             }
             db.SaveChanges();
         }
     }
     else
     {
         result["code"] = "failed";
     }
     result["message"] = message;
     return(result);
 }
Beispiel #9
0
        protected void Session_End(object sender, EventArgs e)
        {
            // 在会话结束时运行的代码。
            // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
            // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
            // 或 SQLServer,则不会引发该事件。
            sysUser  sysuser    = new sysUser();
            MSysUser objsysuser = new MSysUser();

            objsysuser.UserName  = Session["loginName"].ToString();
            objsysuser.SignState = false;
            sysuser.UpdateSysUserSignStateByUserName(objsysuser);

            Application.Lock();
            int iNum = Int32.Parse(Application["online"].ToString()) - 1;

            Application.Set("online", iNum);
            Application.UnLock();
        }
Beispiel #10
0
        protected void Button1_Click(object sender, EventArgs e)
        {
            sysUser  user       = new sysUser();
            MSysUser objsysuser = new MSysUser();

            objsysuser.UserName = Session["loginName"].ToString();
            objsysuser.UserPwd  = TextBox1.Text.Trim().ToString();
            bool bl = user.UpdateSysUserPwdByUserName(objsysuser);

            if (bl)
            {
                this.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('设置新密码成功!');</script>");
                //Response.Write(bc.MessageBox("设置新密码成功!"));
            }
            else
            {
                this.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('设置新密码失败!');</script>");
                //Response.Write(bc.MessageBox("设置新密码失败!"));
            }
        }
Beispiel #11
0
 public Dictionary <string, object> delete(int id)
 {
     if (db.sysUserLogs.Count(w => w.UserId == id) > 0)
     {
         result["code"] = "failed";
         message.Add("此用户已经存在系统操作,不可删除。");
     }
     if (result["code"].ToString() == "success")
     {
         sysUser user = db.sysUsers.FirstOrDefault(w => w.UserId == id);
         if (user.IsSuper)
         {
             result["code"] = "failed";
             message.Add("此用户为系统用户,不可删除。");
         }
         else
         {
             db.sysUsers.Remove(user);
             db.SaveChanges();
         }
     }
     result["message"] = message;
     return(result);
 }
Beispiel #12
0
        protected void btnLogin_Click(object sender, EventArgs e)
        {
            if (Page.IsValid == true)
            {
                HttpCookie cookie = Request.Cookies["CheckCode"];
                if (string.Compare(cookie.Value, Validator.Text.Trim().ToString(), true) != 0)
                {
                    string myscript = @"alert('验证码输入错误,请重新输入验证码!!!');window.location.href='Default.aspx';";
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "myscript", myscript, true);
                    return;
                }

                if (txtPwd.Text == "" && txtName.Text == "")
                {
                    string myscript = @"alert('用户名称和密码不能为空!');window.location.href='Default.aspx';";
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "myscript", myscript, true);
                    return;
                }

                sysUser  user       = new sysUser();
                MSysUser objsysuser = new MSysUser();
                objsysuser.UserName = txtName.Text.Trim();
                objsysuser.UserPwd  = txtPwd.Text.Trim();

                if (rdoBtnAdmin.Checked)   //系统管理员登录
                {
                    objsysuser.IsSystemManager = true;
                    DataTable dt = user.SelectSysUserByUserNameAndUserPwd(objsysuser);
                    if (dt.Rows.Count > 0)
                    {
                        //登录成功后,设置登录时间和标识
                        objsysuser.SignState = true;
                        objsysuser.LoginTime = DateTime.Now;
                        user.UpdateSysUserLoginTimeAndSignState(objsysuser);
                        //存储登录用户名称
                        Session["loginName"] = objsysuser.UserName;
                        //存储登录用户身份
                        Session["IsSysManager"] = true;
                        //登录成功后,进入系统主页
                        Response.Redirect("~/SystemDefault.aspx");
                    }
                    else
                    {
                        string myscript = @"alert('用户名或密码错误!');window.location.href='Default.aspx';";
                        Page.ClientScript.RegisterStartupScript(this.GetType(), "myscript", myscript, true);
                    }
                }
                else  //普通操作职员
                {
                    objsysuser.IsSystemManager = false;
                    DataTable dt = user.SelectSysUserByUserNameAndUserPwd(objsysuser);

                    if (dt.Rows.Count > 0)
                    {
                        //登录成功后,设置登录时间和标识
                        objsysuser.SignState = true;
                        objsysuser.LoginTime = DateTime.Now;
                        user.UpdateSysUserLoginTimeAndSignState(objsysuser);
                        //存储登录用户名称
                        Session["loginName"] = objsysuser.UserName;
                        //存储登录用户身份
                        Session["IsSysManager"] = false;
                        //登录成功后,进入系统主页
                        Response.Redirect("~/SystemDefault.aspx");
                    }
                    else
                    {
                        string myscript = @"alert('用户名或密码错误!');window.location.href='Default.aspx';";
                        Page.ClientScript.RegisterStartupScript(this.GetType(), "myscript", myscript, true);
                    }
                }
            }
        }