/// <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()); } }
/// <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); } }
/// <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()); } }
/// <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()); } }
/// <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") }); } }
/// <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") }); } }