예제 #1
0
        public ActionResult add(UserInfoAdd model)
        {
            if (ModelState.IsValid == false)
            {
                return(WriteError("验证失败"));
            }
            try
            {
                sysUserInfo user = new sysUserInfo()
                {
                    uLoginName   = model.uLoginName,
                    uStatus      = model.uStatus,
                    uGender      = model.uGender,
                    uEmail       = model.uEmail,
                    uRealName    = model.uRealName,
                    uMobile      = model.uMobile,
                    uLoginPWD    = Kits.MD5Entry("123456"),
                    uUpdateTime  = DateTime.Now,
                    uCreateID    = UserMgr.GetCurrentUserInfo().uID,
                    uCreateTime  = DateTime.Now,
                    uCompanyID   = model.uCompanyID,
                    uDepID       = model.uDepID,
                    uWorkGroupID = model.uWorkGroupID
                };

                _userinfoSer.Add(user);
                _userinfoSer.SaveChanges();
                return(WriteSuccess("新增成功"));
            }
            catch (Exception ex)
            {
                return(WriteError(ex));
            }
        }
예제 #2
0
        public ActionResult Login(LoginInfo model)
        {
            try
            {
                //1.0实体参数合法性验证
                if (ModelState.IsValid == false)
                {
                    return(WriteError("实体验证失败"));
                }
                //2.0检查验证码的合法性
                string vcodeFromSession = string.Empty;
                if (Session[Keys.vcode] != null)
                {
                    vcodeFromSession = Session[Keys.vcode].ToString();
                }
                if (model.VCode.IsEmpty() || vcodeFromSession.Equals(model.VCode, StringComparison.OrdinalIgnoreCase) == false)
                {
                    return(WriteError("验证码不合法"));
                }
                //3.0用户名和密码的正确性
                string md5PWD   = Kits.MD5Entry(model.uLoginPWD);
                var    userinfo = _userinfoSer.QueryWhere(
                    c => c.uLoginName == model.uLoginName &&
                    c.uLoginPWD == md5PWD).FirstOrDefault();
                if (userinfo == null)
                {
                    return(WriteError("用户名或密码错误"));
                }
                //4.0将userinfo存入session
                Session[Keys.uinfo] = userinfo;
                //5.0判断logininfo实体model中ismember是否为true,
                //如果成立则将用户id写入cookie中
                if (model.IsMember)
                {
                    //一般要将用户ID加密成密文DES(对称加密算法),自定义密码
                    HttpCookie cookie = new HttpCookie(Keys.IsMember, userinfo.uID.ToString());
                    cookie.Expires = DateTime.Now.AddDays(3);
                    Response.Cookies.Add(cookie);
                }
                else
                {//清除cookie操作
                    HttpCookie cookie = new HttpCookie(Keys.IsMember, "");
                    cookie.Expires = DateTime.Now.AddDays(-3);
                    Response.Cookies.Add(cookie);
                }


                //5.0将当前用户的所有按钮缓存起来,
                // 选择此缓存永久有效,当管理员操作用户分配角色和设置次用户所在角色的权限菜单的时候,要是缓存你失效
                _permissSer.GetFunctionsForUserByCache(userinfo.uID);

                //6.0 返回登录成功消息
                return(WriteSuccess("登录成功"));
            }
            catch (Exception ex)
            {
                return(WriteError(ex));
            }
        }
예제 #3
0
        public ActionResult Login(LoginInfo model)
        {
            try
            {
                //1.0 验证码检查
                string vcodeFromSession = string.Empty;
                if (Session[Keys.Vcode] != null)
                {
                    vcodeFromSession = Session[Keys.Vcode].ToString();
                }

                if (model.VCode.IsEmpty() ||
                    model.VCode.Equals(vcodeFromSession, StringComparison.OrdinalIgnoreCase) == false)
                {
                    return(WriteError("验证码错误,请重新输入"));
                }

                //2.0 验证用户名和密码的正确性
                string md5Pwd = Kits.MD5Entry(model.LoginPWD);

                if (model.LoginName.IsEmpty())
                {
                    return(WriteError("登录账号不能为空"));
                }

                if (model.LoginPWD.IsEmpty())
                {
                    return(WriteError("登录密码不能为空"));
                }

                var userinfo = userinfoSer.QueryWhere(c => c.uLoginName == model.LoginName &&
                                                      c.uLoginPWD == md5Pwd).FirstOrDefault();

                if (userinfo == null)
                {
                    return(WriteError("用户名或者密码错误,请重新输入"));
                }

                //3.0 将userinfo存入session中
                Session[Keys.uinfo] = userinfo;

                //4.0 判断model.isrememeber ==true 则应该写一个cookie存入到浏览器的硬盘中
                if (model.IsReMember)
                {
                    HttpCookie cookie = new HttpCookie(Keys.isremember, userinfo.uID.ToString());
                    //设置cookie的过期时间为3天
                    cookie.Expires = DateTime.Now.AddDays(3);

                    //添加到响应报文头中
                    Response.Cookies.Add(cookie);
                }
                else
                {
                    HttpCookie cookie = new HttpCookie(Keys.isremember, "");
                    //设置cookie的过期时间为3年前,一定过期
                    cookie.Expires = DateTime.Now.AddYears(-3);

                    //添加到响应报文头中
                    Response.Cookies.Add(cookie);
                }

                //5.0 将当前用户的权限按钮数据缓存起来
                //permissSer.GetPermissListByUid(userinfo.uID);

                return(WriteSuccess("登录成功,正在跳转到首页..."));
            }
            catch (Exception ex)
            {
                return(WriteError(ex));
            }
        }
예제 #4
0
        public ActionResult Login(LoginInfo model)
        {
            try
            {
                //1.0 实体参数合法性验证
                if (ModelState.IsValid == false)
                {
                    return(WriteError("实体验证失败"));
                }

                //2.0 检查验证码的合法性
                string vcodeFromSession = string.Empty;
                if (Session[Keys.vcode] != null)
                {
                    vcodeFromSession = Session[Keys.vcode].ToString();
                }
                if (model.VCode.IsEmpty() ||
                    vcodeFromSession.Equals(model.VCode, StringComparison.OrdinalIgnoreCase) == false)
                {
                    return(WriteError("验证码不合法"));
                }

                //3.0 检查用户名和密码的正确性
                string md5PWD   = Kits.MD5Entry(model.uLoginPWD);
                var    userinfo = userinfoSer.QueryWhere(c => c.uLoginName == model.uLoginName && c.uLoginPWD == md5PWD).FirstOrDefault();
                if (userinfo == null)
                {
                    return(WriteError("用户名或者密码错误"));
                }

                //4.0 将userinfo存入session
                Session[Keys.uinfo] = userinfo;


                //5.0 判断logininfo实体model中的ismemeber是否为true,如果成立则将用户id写入cookie中
                //输出给浏览器存入硬盘中,过期时间为3天
                if (model.IsMember)
                {
                    //一般要将用户ID利用DES(对称加密算法使用自己定义的一个密码)进行加密成,将来可以使用同一个密码进行解密
                    string     entrystr = DESEncrypt.Encrypt(userinfo.uID.ToString());
                    HttpCookie cookie   = new HttpCookie(Keys.IsMember, entrystr);
                    cookie.Expires = DateTime.Now.AddDays(3);
                    Response.Cookies.Add(cookie);
                }
                else
                {
                    //清除cookie操作
                    HttpCookie cookie = new HttpCookie(Keys.IsMember, "");
                    cookie.Expires = DateTime.Now.AddYears(-3);
                    Response.Cookies.Add(cookie);
                }

                //5.0 将当前用户的所有权限按钮缓存起来,选择此缓存永久有效,当管理员操作用户分配角色和设置此用户所在角色的权限菜单的时候,要使缓存失效
                permissSer.GetFunctionsForUserByCache(userinfo.uID);

                //6.0 返回登录成功消息
                return(WriteSuccess("登录成功"));
            }
            catch (Exception ex)
            {
                return(WriteError(ex));
            }
        }