예제 #1
0
        public JsonResult Index(vLoginModel fmodel)
        {
            var json = new ResultJson();

            Service.Command <LoginOutsourcing>((db, o) =>
            {
                json = o.Logins(db, fmodel);
            });
            return(Json(json));
        }
예제 #2
0
        /// <summary>
        /// 登录方法
        /// </summary>
        /// <param name="db"></param>
        /// <param name="lmodel"></param>
        /// <returns></returns>
        public ResultJson Logins(SqlSugarClient db, vLoginModel lmodel)
        {
            var json = new ResultJson()
            {
                backurl = "/fytadmin/index/"
            };
            var model = db.Queryable <sysadmin>().Single(m => m.LoginName == lmodel.loginname);

            if (model != null)
            {
                LogProvider.Error(LoggerEnums.Info.ToString(), DES3Encrypt.EncryptString(lmodel.password));
                if (model.LoginPwd.Equals(DES3Encrypt.EncryptString(lmodel.password)))
                {
                    //判断是否冻结
                    if (model.Status)
                    {
                        json.data = model;
                        //根据管理员的角色ID查询菜单,目前支持模块化权限验证
                        var roleModel = db.Queryable <sysrolemenu>().Where(m => m.RoleID == model.RoleID).ToList();
                        var mlist     = roleModel.Select(item => item.MenuID).ToList();
                        //根据角色关联的菜单ID,查询菜单集合
                        var menuList   = db.Queryable <sysmenu>().Where(m => mlist.Contains(m.ID)).ToList();
                        var adminModel = new AdminModel()
                        {
                            ID = model.ID, sysadmin = model, sysMenu = menuList
                        };
                        //将用户登录信息保存的session中
                        SessionHelper.SetSession(KeyHelper.SESSION_ADMIN_INFO, ProtobufHelper.Serialize(adminModel));
                        //将登录ID保存到cookie中
                        CookieHelper.SetCookie(KeyHelper.COOKIE_ADMIN_USERID, DES3Encrypt.EncryptString(model.ID.ToString()), 1);
                    }
                    else
                    {
                        json.status = 403;
                        json.msg    = "您的账号被冻结,请联系管理员~";
                    }
                }
                else
                {
                    json.status = 402;
                    json.msg    = "密码错误~";
                }
            }
            else
            {
                json.status = 401;
                json.msg    = "用户名错误~";
            }
            return(json);
        }