public async Task <APIResponseEntity <XCLCMS.Data.Model.Custom.UserInfoDetailModel> > LogonCheck([FromBody] APIRequestEntity <XCLCMS.Data.WebAPIEntity.RequestEntity.Open.LogonCheckEntity> request) { return(await Task.Run(() => { var response = new APIResponseEntity <XCLCMS.Data.Model.Custom.UserInfoDetailModel>(); XCLCMS.Data.Model.UserInfo userModel = null; if (string.IsNullOrWhiteSpace(request.Body.UserToken)) { //用户名和密码登录 userModel = userInfoBLL.GetModel(request.Body.UserName, XCLCMS.WebAPI.Library.EncryptHelper.EncryptStringMD5(request.Body.Pwd)); } else { //token登录 userModel = XCLCMS.WebAPI.Library.Common.GetUserInfoByUserToken(request.Body.UserToken); } if (null == userModel) { response.Message = string.Format("用户名或密码不正确!", request.Body.UserName); response.IsSuccess = false; } else if (!string.Equals(userModel.UserState, XCLCMS.Data.CommonHelper.EnumType.UserStateEnum.N.ToString())) { response.Message = string.Format("用户名{0}已被禁用!", request.Body.UserName); response.IsSuccess = false; } else { response.IsSuccess = true; response.Body = new Data.Model.Custom.UserInfoDetailModel(); //用户基本信息 response.Body.UserInfo = userModel; //登录令牌 response.Body.Token = XCLCMS.WebAPI.Library.EncryptHelper.CreateToken(new Data.Model.Custom.UserNamePwd() { UserName = userModel.UserName, Pwd = userModel.Pwd }); //所在商户 response.Body.Merchant = this.merchantBLL.GetModel(userModel.FK_MerchantID); //所在商户应用 response.Body.MerchantApp = this.merchantAppBLL.GetModel(userModel.FK_MerchantAppID); } //写入日志 XCLNetLogger.Log.WriteLog(new XCLNetLogger.Model.LogModel() { LogType = XCLCMS.Data.CommonHelper.EnumType.LogTypeEnum.LOGIN.ToString(), LogLevel = XCLNetLogger.Config.LogConfig.LogLevel.INFO, Title = string.Format("用户{0},尝试登录系统{1}", request.Body.UserName, response.IsSuccess ? "成功" : "失败") }); return response; })); }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(XCLCMS.Data.Model.UserInfo model) { Database db = base.CreateDatabase(); DbCommand dbCommand = db.GetStoredProcCommand("sp_UserInfo_Update"); db.AddInParameter(dbCommand, "UserInfoID", DbType.Int64, model.UserInfoID); db.AddInParameter(dbCommand, "UserName", DbType.AnsiString, model.UserName); db.AddInParameter(dbCommand, "FK_MerchantID", DbType.Int64, model.FK_MerchantID); db.AddInParameter(dbCommand, "FK_MerchantAppID", DbType.Int64, model.FK_MerchantAppID); db.AddInParameter(dbCommand, "RealName", DbType.String, model.RealName); db.AddInParameter(dbCommand, "NickName", DbType.String, model.NickName); db.AddInParameter(dbCommand, "Pwd", DbType.AnsiString, model.Pwd); db.AddInParameter(dbCommand, "Age", DbType.Int32, model.Age); db.AddInParameter(dbCommand, "SexType", DbType.AnsiString, model.SexType); db.AddInParameter(dbCommand, "Birthday", DbType.DateTime, model.Birthday); db.AddInParameter(dbCommand, "Tel", DbType.AnsiString, model.Tel); db.AddInParameter(dbCommand, "QQ", DbType.AnsiString, model.QQ); db.AddInParameter(dbCommand, "Email", DbType.AnsiString, model.Email); db.AddInParameter(dbCommand, "OtherContact", DbType.String, model.OtherContact); db.AddInParameter(dbCommand, "AccessType", DbType.AnsiString, model.AccessType); db.AddInParameter(dbCommand, "AccessToken", DbType.AnsiString, model.AccessToken); db.AddInParameter(dbCommand, "UserState", DbType.AnsiString, model.UserState); db.AddInParameter(dbCommand, "UserType", DbType.AnsiString, model.UserType); db.AddInParameter(dbCommand, "Remark", DbType.String, model.Remark); db.AddInParameter(dbCommand, "RoleName", DbType.String, model.RoleName); db.AddInParameter(dbCommand, "RoleMaxWeight", DbType.Int32, model.RoleMaxWeight); db.AddInParameter(dbCommand, "RecordState", DbType.AnsiString, model.RecordState); db.AddInParameter(dbCommand, "CreateTime", DbType.DateTime, model.CreateTime); db.AddInParameter(dbCommand, "CreaterID", DbType.Int64, model.CreaterID); db.AddInParameter(dbCommand, "CreaterName", DbType.String, model.CreaterName); db.AddInParameter(dbCommand, "UpdateTime", DbType.DateTime, model.UpdateTime); db.AddInParameter(dbCommand, "UpdaterID", DbType.Int64, model.UpdaterID); db.AddInParameter(dbCommand, "UpdaterName", DbType.String, model.UpdaterName); db.AddOutParameter(dbCommand, "ResultCode", DbType.Int32, 4); db.AddOutParameter(dbCommand, "ResultMessage", DbType.String, 1000); db.ExecuteNonQuery(dbCommand); var result = XCLCMS.Data.DAL.Common.Common.GetProcedureResult(dbCommand.Parameters); if (result.IsSuccess) { return(true); } else { throw new Exception(result.ResultMessage); } }
/// <summary> /// 登录权限验证 /// </summary> protected override bool AuthorizeCore(HttpContextBase httpContext) { if (!this.IsMustLogin) { return(true); } bool flag = false; var detail = XCLCMS.Lib.Common.LoginHelper.GetUserInfoFromLoginInfo(); this.UserInfo = null == detail ? null : detail.UserInfo; if (null != this.UserInfo) { flag = true; } return(flag); }
public override ActionResult AddSubmit(FormCollection fm) { XCLCMS.View.AdminWeb.Models.UserInfo.UserInfoAddVM viewModel = this.GetViewModel(fm); XCLCMS.Data.Model.UserInfo model = new XCLCMS.Data.Model.UserInfo(); XCLNetTools.Message.MessageModel msgModel = new XCLNetTools.Message.MessageModel(); model.UserInfoID = XCLCMS.Lib.WebAPI.Library.CommonAPI_GenerateID(base.UserToken, new Data.WebAPIEntity.RequestEntity.Common.GenerateIDEntity() { IDType = Data.CommonHelper.EnumType.IDTypeEnum.USR.ToString() }); model.AccessToken = viewModel.UserInfo.AccessType; model.AccessType = viewModel.UserInfo.AccessType; model.Age = viewModel.UserInfo.Age; model.Birthday = viewModel.UserInfo.Birthday; model.CreaterID = base.CurrentUserModel.UserInfoID; model.CreaterName = base.CurrentUserModel.UserName; model.CreateTime = DateTime.Now; model.UpdaterID = base.CurrentUserModel.UserInfoID; model.UpdaterName = base.CurrentUserModel.UserName; model.UpdateTime = DateTime.Now; model.Email = viewModel.UserInfo.Email; model.NickName = viewModel.UserInfo.NickName; model.OtherContact = viewModel.UserInfo.OtherContact; model.Pwd = string.IsNullOrEmpty(viewModel.UserInfo.Pwd) ? XCLCMS.Lib.Common.Setting.SettingModel.Common_UserDefaultPwd : viewModel.UserInfo.Pwd; model.QQ = viewModel.UserInfo.QQ; model.RealName = viewModel.UserInfo.RealName; model.RecordState = viewModel.UserInfo.RecordState; model.Remark = viewModel.UserInfo.Remark; model.SexType = viewModel.UserInfo.SexType; model.Tel = viewModel.UserInfo.Tel; model.UserName = viewModel.UserInfo.UserName; model.UserState = viewModel.UserInfo.UserState; model.UserType = viewModel.UserInfo.UserType; model.FK_MerchantID = viewModel.UserInfo.FK_MerchantID; model.FK_MerchantAppID = viewModel.UserInfo.FK_MerchantAppID; var request = XCLCMS.Lib.WebAPI.Library.CreateRequest <XCLCMS.Data.WebAPIEntity.RequestEntity.UserInfo.AddOrUpdateEntity>(base.UserToken); request.Body = new Data.WebAPIEntity.RequestEntity.UserInfo.AddOrUpdateEntity(); request.Body.UserInfo = model; request.Body.RoleIdList = viewModel.UserRoleIDs; var response = XCLCMS.Lib.WebAPI.UserInfoAPI.Add(request); return(Json(response)); }
/// <summary> /// 登录权限验证 /// </summary> protected override bool AuthorizeCore(HttpContextBase httpContext) { if (!this.IsMustLogin) { return(true); } var req = httpContext.Request.RequestContext; string controllerName = Convert.ToString(req.RouteData.Values["controller"]); string actionName = Convert.ToString(req.RouteData.Values["action"]); bool flag = false; this.UserInfo = XCLCMS.Lib.Login.LoginHelper.GetUserInfoFromLoginInfo(); if (null != this.UserInfo) { flag = true; } return(flag); }
/// <summary> /// 设置登录与退出的相关信息(session/cookie...) /// </summary> public static void SetLogInfo(LoginType type, XCLCMS.Data.Model.UserInfo userInfo) { var context = HttpContext.Current; switch (type) { //退出 case LoginType.OFF: XCLNetTools.Http.CookieHelper.DelCookies(XCLCMS.Lib.SysWebSetting.Setting.SettingModel.Common_UserLoginFlagName); context.Session.Remove(XCLCMS.Lib.SysWebSetting.Setting.SettingModel.Common_UserLoginFlagName); break; //登录 case LoginType.ON: string loginStr = CreateUserToken(userInfo.UserName, userInfo.Pwd); XCLNetTools.Http.CookieHelper.SetCookies(XCLCMS.Lib.SysWebSetting.Setting.SettingModel.Common_UserLoginFlagName, loginStr, 30); context.Session[XCLCMS.Lib.SysWebSetting.Setting.SettingModel.Common_UserLoginFlagName] = loginStr; break; } }
/// <summary> /// 权限验证 /// </summary> public override void OnAuthorization(HttpActionContext actionContext) { //验证登录信息 if (!this.IsMustLogin) { return; } string token = null; var tokenHeaders = actionContext.Request.Headers.GetValues(XCLCMS.Lib.Common.Comm.WebAPIUserTokenHeaderName); if (null != tokenHeaders && tokenHeaders.Count() > 0) { token = tokenHeaders.First(); } this.UserInfo = XCLCMS.Lib.Login.LoginHelper.GetUserInfoByUserToken(token); if (null == this.UserInfo) { throw new HttpResponseException(System.Net.HttpStatusCode.Forbidden); } base.OnAuthorization(actionContext); }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(XCLCMS.Data.Model.UserInfo model) { return(dal.Update(model)); }
/// <summary> /// 增加一条数据 /// </summary> public bool Add(XCLCMS.Data.Model.UserInfo model) { return(dal.Add(model)); }