示例#1
0
 /// <summary>
 /// 功能描述    :  添加[tblFW_User]表的记录
 /// 创建者      :  Auto Generator
 /// 创建日期    :  2009-03-27
 /// 修改者      :
 /// 修改日期    :
 /// 修改原因    :
 /// </summary>
 /// <param name="objInsert">需要添加的实体类</param>
 /// <returns>返回新增记录的PK主键的值</returns>
 public int Insert(tblFW_User objInsert)
 {
     try
     {
         usp_tblFW_User_Insert uspInsert = new usp_tblFW_User_Insert();
         uspInsert.ReceiveParameter(objInsert);
         uspInsert.ExecNoQuery();
         if (uspInsert.fldAutoID > 0)
         {
             return(uspInsert.fldAutoID);
         }
         else
         {
             throw new Exception("插入新记录失败");
         }
     }
     catch (DBOpenException e)
     {
         throw new InsertException("打开数据库连接失败", "RuletblFW_User", "Insert", objInsert.ToString());
     }
     catch (DBPKException e)
     {
         throw new InsertPKException("相同的记录已经存在,违反表的唯一键约束", "RuletblFW_User", "Insert", objInsert.ToString());
     }
     catch (DBQueryException e)
     {
         throw new InsertException("执行Sql语句失败", "RuletblFW_User", "Insert", objInsert.ToString());
     }
     catch (Exception e)
     {
         throw new InsertException(e.Message, "RuletblFW_User", "Insert", objInsert.ToString());
     }
 }
示例#2
0
 /// <summary>
 /// 功能描述    :  根据用户名取得[tblFW_User]表的记录
 /// 创建者      :  马立军
 /// 创建日期    :  2009-03-27
 /// 修改者      :
 /// 修改日期    :
 /// 修改原因    :
 /// </summary>
 /// <param name="sUserName">用户名</param>
 /// <param name="stcode">城市代码</param>
 /// <returns>tblFW_User</returns>
 public tblFW_User ByUserName(string sUserName, string stcode)
 {
     try
     {
         usp_tblFW_User_ByUserName uspByUserName = new usp_tblFW_User_ByUserName();
         uspByUserName.fldUserName = sUserName;
         uspByUserName.fldSTCode   = stcode;
         DataTable tblData = uspByUserName.ExecDataTable(1);
         if (tblData != null)
         {
             tblFW_User objData = new tblFW_User();
             objData.MetaDataTable = tblData;
             return(objData);
         }
         else
         {
             throw new Exception("取得单条记录失败,未找到对应的记录");
         }
     }
     catch (DBOpenException e)
     {
         throw new GetByPKException("打开数据库连接失败", "RuletblFW_User", "ByUserName", sUserName);
     }
     catch (DBQueryException e)
     {
         throw new GetByPKException("执行Sql语句失败", "RuletblFW_User", "ByUserName", sUserName);
     }
     catch (Exception e)
     {
         throw new GetByPKException(e.Message, "RuletblFW_User", "ByUserName", sUserName);
     }
 }
示例#3
0
 /// <summary>
 /// 功能描述    :  更新[tblFW_User]表的密码
 /// 创建者      :  Auto Generator
 /// 创建日期    :  2009-04-08
 /// 修改者      :
 /// 修改日期    :
 /// 修改原因    :
 /// </summary>
 /// <param name="objUpdate">需要更新的实体类</param>
 /// <returns>true / false</returns>
 public bool UpdatePassword(tblFW_User objUpdate)
 {
     try
     {
         usp_tblFW_User_UpdatePassword uspUpdate = new usp_tblFW_User_UpdatePassword();
         uspUpdate.ReceiveParameter(objUpdate);
         int iResult = uspUpdate.ExecNoQuery();
         if (iResult > 0)
         {
             return(true);
         }
         else
         {
             throw new Exception("更新记录失败,未找到对应的记录");
         }
     }
     catch (DBOpenException e)
     {
         throw new UpdateException("打开数据库连接失败", "RuletblFW_User", "UpdatePassword", objUpdate.ToString());
     }
     catch (DBQueryException e)
     {
         throw new UpdateException("执行Sql语句失败", "RuletblFW_User", "UpdatePassword", objUpdate.ToString());
     }
     catch (Exception e)
     {
         throw new UpdateException(e.Message, "RuletblFW_User", "UpdatePassword", objUpdate.ToString());
     }
 }
示例#4
0
 /// <summary>
 /// 功能描述    :  根据主键取得[tblFW_User]表的记录
 /// 创建者      :  Auto Generator
 /// 创建日期    :  2009-03-27
 /// 修改者      :
 /// 修改日期    :
 /// 修改原因    :
 /// </summary>
 /// <param name="iPK">PK主键值</param>
 /// <returns>tblFW_User</returns>
 public tblFW_User ByPK(int iPK)
 {
     try
     {
         usp_tblFW_User_ByPK uspByPK = new usp_tblFW_User_ByPK();
         uspByPK.fldAutoID = iPK;
         DataTable tblData = uspByPK.ExecDataTable();
         if (tblData != null)
         {
             tblFW_User objData = new tblFW_User();
             objData.MetaDataTable = tblData;
             return(objData);
         }
         else
         {
             throw new Exception("取得单条记录失败,未找到对应的记录");
         }
     }
     catch (DBOpenException e)
     {
         throw new GetByPKException("打开数据库连接失败", "RuletblFW_User", "ByPK", iPK.ToString());
     }
     catch (DBQueryException e)
     {
         throw new GetByPKException("执行Sql语句失败", "RuletblFW_User", "ByPK", iPK.ToString());
     }
     catch (Exception e)
     {
         throw new GetByPKException(e.Message, "RuletblFW_User", "ByPK", iPK.ToString());
     }
 }
示例#5
0
 /// <summary>
 /// 功能描述    :  更新[tblFW_User]表的记录
 /// 创建者      :  Auto Generator
 /// 创建日期    :  2009-04-26
 /// 修改者      :
 /// 修改日期    :
 /// 修改原因    :
 /// </summary>
 /// <param name="objUpdate_old">需要更新的实体类</param>
 /// <param name="objUpdate_new">更新后的实体类</param>
 /// <returns>true / false</returns>
 public bool Update(tblFW_User objUpdate_old, tblFW_User objUpdate_new)
 {
     try
     {
         usp_tblFW_User_Update uspUpdate = new usp_tblFW_User_Update();
         uspUpdate.ReceiveParameter_Old(objUpdate_old);
         uspUpdate.ReceiveParameter_New(objUpdate_new);
         int iResult = uspUpdate.ExecNoQuery();
         if (iResult > 0)
         {
             return(true);
         }
         else
         {
             throw new Exception("更新记录失败,未找到对应的记录");
         }
     }
     catch (DBOpenException e)
     {
         throw new UpdateException("打开数据库连接失败", "RuletblFW_User", "Update",
                                   "objUpdate_old:" + objUpdate_old.ToString() + ";objUpdate_new:" + objUpdate_new.ToString());
     }
     catch (DBQueryException e)
     {
         throw new UpdateException("执行Sql语句失败", "RuletblFW_User", "Update",
                                   "objUpdate_old:" + objUpdate_old.ToString() + ";objUpdate_new:" + objUpdate_new.ToString());
     }
     catch (Exception e)
     {
         throw new UpdateException(e.Message, "RuletblFW_User", "Update",
                                   "objUpdate_old:" + objUpdate_old.ToString() + ";objUpdate_new:" + objUpdate_new.ToString());
     }
 }
        /// <summary>
        /// 到数据库进行校验登录信息
        /// </summary>
        /// <param name="username">用户名</param>
        /// <param name="password">密码</param>
        /// <param name="cityid">城市ID</param>
        /// <param name="User">当前登录用户信息</param>
        /// <returns></returns>
        private bool CheckUser(string username, string password, string cityid, ref tblFW_User User)
        {
            bool bOk = true;

            RuletblFW_User ruleUser = new RuletblFW_User();

            DDYZ.Ensis.Rule.BusinessRule.UserManage.Common comm = new DDYZ.Ensis.Rule.BusinessRule.UserManage.Common();

            tblFW_User objUser = ruleUser.ByUserName(username, cityid);

            User = objUser;
            if (objUser == null || objUser.IsEmpty)
            {
                bOk = false;
            }
            if (objUser.fldActive == false)
            {
                bOk = false;
            }
            if (objUser.fldPassword != password)
            {
                bOk = false;
            }

            return(bOk);
        }
        public HttpResponseMessage Login(string username, string password)
        {
            string     result = string.Empty;
            RuleCommon rule   = new RuleCommon();

            try
            {
                tblFW_User objUser = new tblFW_User();
                //到数据库进行校验
                if (CheckUser(username, password, "", ref objUser) == false)
                {
                    result = rule.JsonStr("error", "用户名或密码错误", "");
                    return(new HttpResponseMessage {
                        Content = new StringContent(result, System.Text.Encoding.UTF8, "application/json")
                    });
                }
                DateTime          dtime    = DateTime.Parse(DateTime.Now.ToShortDateString());
                IDateTimeProvider provider = new UtcDateTimeProvider();
                var now               = provider.GetNow();
                var unixEpoch         = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); // or use JwtValidator.UnixEpoch
                var secondsSinceEpoch = Math.Round((now - unixEpoch).TotalSeconds);
                var payload           = new Dictionary <string, object>
                {
                    { "pass", password },
                    { "exp", secondsSinceEpoch + 10000 },
                    { "name", username }
                };
                IJwtAlgorithm     algorithm  = new HMACSHA256Algorithm();
                IJsonSerializer   serializer = new JsonNetSerializer();
                IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder();
                IJwtEncoder       encoder    = new JwtEncoder(algorithm, serializer, urlEncoder);
                var token = encoder.Encode(payload, "YYplay");

                ////返回登录结果、用户信息、用户验证票据信息
                //var Token = FormsAuthentication.Encrypt(token);
                ////将身份信息保存在session中,验证当前请求是否是有效请求
                //if (HttpContext.Current.Session[username] == null)
                //    HttpContext.Current.Session[username] = Token;
                LoginInfo lginfo = new LoginInfo();

                lginfo.token = token;

                result = rule.JsonStr("ok", "", lginfo);
                return(new HttpResponseMessage {
                    Content = new StringContent(result, System.Text.Encoding.UTF8, "application/json")
                });
            }
            catch (Exception e)
            {
                result = rule.JsonStr("error", e.Message, "");
                return(new HttpResponseMessage {
                    Content = new StringContent(result, System.Text.Encoding.UTF8, "application/json")
                });
            }
        }
示例#8
0
 /// <summary>
 /// 功能描述    :  获得[tblFW_User]表的所有记录
 /// 创建者      :  Auto Generator
 /// 创建日期    :  2009-03-27
 /// 修改者      :
 /// 修改日期    :
 /// 修改原因    :
 /// </summary>
 /// <returns>IList<tblFW_User></returns>
 public IList <tblFW_User> GetAllList()
 {
     try
     {
         DataTable            tblData  = new DataTable();
         usp_tblFW_User_ByAll uspByAll = new usp_tblFW_User_ByAll();
         tblData = uspByAll.ExecDataTable();
         if (tblData != null)
         {
             IList <tblFW_User> listAll = new List <tblFW_User>();
             for (int i = 0; i < tblData.Rows.Count; i++)
             {
                 DataTable tblTmp = tblData.Clone();
                 tblTmp.Rows.Add(tblData.Rows[i].ItemArray);
                 tblFW_User objData = new tblFW_User();
                 objData.MetaDataTable = tblTmp;
                 listAll.Add(objData);
             }
             return(listAll);
         }
         else
         {
             throw new Exception("取得记录失败,未找到对应的记录");
         }
     }
     catch (DBOpenException e)
     {
         throw new GetListException("打开数据库连接失败", "RuletblFW_User", "GetAllList", "");
     }
     catch (DBQueryException e)
     {
         throw new GetListException("执行Sql语句失败", "RuletblFW_User", "GetAllList", "");
     }
     catch (Exception e)
     {
         throw new GetListException(e.Message, "RuletblFW_User", "GetAllList", "");
     }
 }
        public HttpResponseMessage UserInfo(string token)
        {
            string     result = string.Empty;
            RuleCommon rule   = new RuleCommon();

            try
            {
                tblFW_User objUser = new tblFW_User();

                //var strTicket = FormsAuthentication.Decrypt(token).UserData;

                IJsonSerializer   serializer = new JsonNetSerializer();
                IDateTimeProvider provider   = new UtcDateTimeProvider();
                IJwtValidator     validator  = new JwtValidator(serializer, provider);
                IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder();
                IJwtDecoder       decoder    = new JwtDecoder(serializer, validator, urlEncoder);
                string            json       = "[" + decoder.Decode(token, "YYplay", verify: true).ToString() + "]";//token为之前生成的字符串
                string            userName   = "";
                JArray            jsonObj    = JArray.Parse(json);
                string            password   = "";
                for (int i = 0; i < jsonObj.Count; i++)
                {
                    userName = jsonObj[i]["name"].ToString();
                    password = jsonObj[i]["pass"].ToString();
                }



                RuletblFW_User users = new RuletblFW_User();
                if (CheckUser(userName, password, "", ref objUser) == false)
                {
                    result = rule.JsonStr("error", "请重新登录,获取Token!", "");
                    return(new HttpResponseMessage {
                        Content = new StringContent(result, System.Text.Encoding.UTF8, "application/json")
                    });
                }



                LoginInfo lginfo = new LoginInfo();
                lginfo.userid       = objUser.fldAutoID.ToString();
                lginfo.roleid       = objUser.fldRoleID;
                lginfo.token        = "";
                lginfo.cityid       = objUser.fldCityID.ToString();
                lginfo.username     = objUser.fldUserName;
                lginfo.roles        = objUser.fldroles;
                lginfo.introduction = objUser.fldintroduction;
                lginfo.avatar       = objUser.fldavatar;
                result = rule.JsonStr("ok", "", lginfo);
                return(new HttpResponseMessage {
                    Content = new StringContent(result, System.Text.Encoding.UTF8, "application/json")
                });
            }
            catch (Exception e)
            {
                result = rule.JsonStr("error", e.Message, "");
                return(new HttpResponseMessage {
                    Content = new StringContent(result, System.Text.Encoding.UTF8, "application/json")
                });
            }
        }