Esempio n. 1
0
        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;
            }));
        }
Esempio n. 2
0
        /// <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);
            }
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        /// <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);
        }
Esempio n. 6
0
        /// <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;
            }
        }
Esempio n. 7
0
        /// <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);
        }
Esempio n. 8
0
 /// <summary>
 ///  更新一条数据
 /// </summary>
 public bool Update(XCLCMS.Data.Model.UserInfo model)
 {
     return(dal.Update(model));
 }
Esempio n. 9
0
 /// <summary>
 ///  增加一条数据
 /// </summary>
 public bool Add(XCLCMS.Data.Model.UserInfo model)
 {
     return(dal.Add(model));
 }