コード例 #1
0
        /// <summary>
        /// 获取用户信息
        /// </summary>
        /// <param name="user">用户对象</param>
        /// <returns></returns>
        private static UserInfo GetUserInfo(Sys_User user)
        {
            if (user == null || string.IsNullOrEmpty(user.UserName))
            {
                return(null);
            }
            UserInfo userInfo = new UserInfo()
            {
                UserId         = user.Id,
                UserName       = user.UserName,
                AliasName      = string.IsNullOrEmpty(user.AliasName) ? user.UserName : user.AliasName,
                OrganizationId = user.Sys_OrganizationId
            };
            //员工信息
            OrgM_Emp emp = OrgMOperate.GetEmpByUserName(user.UserName);

            if (emp != null)
            {
                userInfo.EmpId   = emp.Id;
                userInfo.EmpCode = emp.Code;
                userInfo.EmpName = emp.Name;
            }
            userInfo.ExtendUserObject = UserExtendEventHandler.GetUserExtendInfo(userInfo);
            return(userInfo);
        }
コード例 #2
0
        /// <summary>
        /// 获取超级管理员用户信息
        /// </summary>
        /// <returns></returns>
        public static UserInfo GetSuperAdmin()
        {
            if (_adminUser != null)
            {
                return(_adminUser);
            }
            string   errMsg = string.Empty;
            Sys_User user   = CommonOperate.GetEntity <Sys_User>(x => x.UserName == "admin", null, out errMsg);

            if (user == null)
            {
                user = new Sys_User()
                {
                    Id = Guid.Empty, UserName = null, AliasName = null
                }
            }
            ;
            UserInfo userInfo = new UserInfo()
            {
                UserId    = user.Id,
                UserName  = user.UserName,
                AliasName = string.IsNullOrEmpty(user.AliasName) ? user.UserName : user.AliasName,
                EmpId     = Guid.Empty,
                EmpName   = "系统管理员"
            };
            OrgM_Emp emp = OrgMOperate.GetEmpByUserName(user.UserName);

            if (emp != null)
            {
                userInfo.EmpId   = emp.Id;
                userInfo.EmpCode = emp.Code;
                userInfo.EmpName = emp.Name;
            }
            _adminUser = userInfo;
            return(_adminUser);
        }
コード例 #3
0
        public JsonResult UserForgetPwd(string username)
        {
            string userTipDes = "用户名";

            if (GlobalSet.EmpUserNameConfigRule == UserNameAndEmpConfigRule.Email)
            {
                userTipDes = "邮箱";
            }
            else if (GlobalSet.EmpUserNameConfigRule == UserNameAndEmpConfigRule.Mobile)
            {
                userTipDes = "手机号";
            }
            if (string.IsNullOrEmpty(username))
            {
                return(Json(new ReturnResult()
                {
                    Success = false, Message = string.Format("{0}不能为空!", userTipDes)
                }));
            }
            if (GlobalSet.EmpUserNameConfigRule == UserNameAndEmpConfigRule.Email && !Validator.IsEmail(username))
            {
                return(Json(new ReturnResult()
                {
                    Success = false, Message = "请输入正确的邮箱地址!"
                }));
            }
            if (GlobalSet.EmpUserNameConfigRule == UserNameAndEmpConfigRule.Mobile && !Validator.IsMobilePhoneNumber(username))
            {
                return(Json(new ReturnResult()
                {
                    Success = false, Message = "请输入正确的手机号码!"
                }));
            }
            string errMsg = string.Empty;
            bool   rs     = UserOperate.UserIsValid(username, out errMsg);

            if (!rs)
            {
                return(Json(new ReturnResult()
                {
                    Success = false, Message = errMsg
                }));
            }
            string email = username;

            if (GlobalSet.EmpUserNameConfigRule != UserNameAndEmpConfigRule.Email)
            {
                OrgM_Emp emp = OrgMOperate.GetEmpByUserName(username);
                if (emp != null)
                {
                    email = OrgMOperate.GetEmployeeEmails(new List <Guid>()
                    {
                        emp.Id
                    }).Keys.FirstOrDefault();
                }
            }
            if (!email.Contains("@"))
            {
                return(Json(new ReturnResult()
                {
                    Success = false, Message = "获取用户邮箱失败!"
                }));
            }
            Dictionary <string, string> dicMail = new Dictionary <string, string>();

            dicMail.Add(email, email);
            string   subject = string.Format("重置您在{0}的密码", WebConfigHelper.GetCurrWebName());
            Sys_User user    = UserOperate.GetUser(username);
            string   content = GetForgetPwdSendContent(user);

            errMsg = SystemOperate.EmailSend(subject, content, dicMail, null, null, null, true);
            return(Json(new ReturnResult()
            {
                Success = string.IsNullOrEmpty(errMsg), Message = errMsg
            }));
        }
コード例 #4
0
        /// <summary>
        /// 获取用户名
        /// </summary>
        /// <param name="username">用户名或工号或邮箱或手机号</param>
        /// <returns></returns>
        private string GetUserName(string username)
        {
            string tempUserName = username.Trim();
            string errMsg       = string.Empty;

            if (GlobalSet.IsAllowOtherConfigRuleLogin) //允许其他方式登录
            {
                //先检测默认登录规则账号是否存在
                bool rs = UserOperate.UserIsValid(tempUserName, out errMsg);
                if (rs)
                {
                    return(tempUserName);
                }
                //默认登录规则账号不存在时检测其他方式
                OrgM_Emp emp = null;
                switch (GlobalSet.EmpUserNameConfigRule)
                {
                case UserNameAndEmpConfigRule.EmpCode:
                {
                    emp = OrgMOperate.GetEmpByMobile(tempUserName);         //根据手机号获取员工
                    if (emp == null)
                    {
                        emp = OrgMOperate.GetEmpByEmail(tempUserName);         //根据邮箱获取员工
                        if (emp == null)
                        {
                            emp = OrgMOperate.GetEmpByEmailPrex(tempUserName);         //根据邮箱前缀获取员工
                        }
                    }
                }
                break;

                case UserNameAndEmpConfigRule.Mobile:
                {
                    emp = OrgMOperate.GetEmpByCode(tempUserName);         //根据工号获取员工
                    if (emp == null)
                    {
                        emp = OrgMOperate.GetEmpByEmail(tempUserName);         //根据邮箱获取员工
                        if (emp == null)
                        {
                            emp = OrgMOperate.GetEmpByEmailPrex(tempUserName);         //根据邮箱前缀获取员工
                        }
                    }
                }
                break;

                case UserNameAndEmpConfigRule.Email:
                {
                    emp = OrgMOperate.GetEmpByCode(tempUserName);         //根据工号获取员工
                    if (emp == null)
                    {
                        emp = OrgMOperate.GetEmpByMobile(tempUserName);         //根据手机号获取员工
                        if (emp == null)
                        {
                            emp = OrgMOperate.GetEmpByEmailPrex(tempUserName);         //根据邮箱前缀获取员工
                        }
                    }
                }
                break;

                case UserNameAndEmpConfigRule.EmailPre:
                {
                    emp = OrgMOperate.GetEmpByCode(tempUserName);         //根据工号获取员工
                    if (emp == null)
                    {
                        emp = OrgMOperate.GetEmpByMobile(tempUserName);         //根据手机号获取员工
                        if (emp == null)
                        {
                            emp = OrgMOperate.GetEmpByEmail(tempUserName);         //根据邮箱获取员工
                        }
                    }
                }
                break;
                }
                if (emp != null)
                {
                    return(OrgMOperate.GetUserNameByEmp(emp));
                }
            }
            return(tempUserName);
        }