コード例 #1
0
        protected void Egv_RowCommand(object sender, CommandEventArgs e)
        {
            int adminId = DataConverter.CLng(e.CommandArgument);

            if (string.Compare("ModifyAdmin", e.CommandName, StringComparison.OrdinalIgnoreCase) == 0)
            {
                BasePage.ResponseRedirect("Administrator.aspx?Action=Modify&AdminId=" + adminId);
            }
            if (string.Compare("DeleteAdmin", e.CommandName, StringComparison.OrdinalIgnoreCase) == 0)
            {
                if (PEContext.Current.Admin.AdministratorInfo.AdminId == adminId)
                {
                    AdminPage.WriteErrMsg("不能删除自己!", "AdministratorManage.aspx");
                }
                else
                {
                    Administrators.Delete(adminId);
                    AdminPage.WriteSuccessMsg("删除管理员成功!", "AdministratorManage.aspx");
                }
            }
            if (string.Compare("LockAdmin", e.CommandName, StringComparison.OrdinalIgnoreCase) == 0)
            {
                AdministratorInfo administratorByAdminId = Administrators.GetAdministratorByAdminId(adminId);
                administratorByAdminId.IsLock = !administratorByAdminId.IsLock;
                Administrators.Update(administratorByAdminId);
                this.Egv.DataBind();
            }
        }
コード例 #2
0
        public AdministratorInfo GetByUserId(int userId)
        {
            if (userId <= 0)
            {
                return(null);
            }

            AdministratorInfo info = null;

            IDataParameter[] parameters =
            {
                GetParameter(ParmId, DataType.Integer, userId)
            };

            using (var rdr = ExecuteReader(SqlSelectUserByUserId, parameters))
            {
                if (rdr.Read())
                {
                    var i = 0;
                    info = new AdministratorInfo(GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++),
                                                 GetString(rdr, i++), GetString(rdr, i++), GetDateTime(rdr, i++), GetDateTime(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++),
                                                 GetString(rdr, i++), TranslateUtils.ToBool(GetString(rdr, i++)), GetString(rdr, i++),
                                                 GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++),
                                                 GetString(rdr, i));
                }
                rdr.Close();
            }

            return(info);
        }
コード例 #3
0
        public AdministratorInfo GetByUserName(string userName)
        {
            AdministratorInfo info = null;

            IDataParameter[] parms =
            {
                GetParameter(ParmUsername, DataType.VarChar, 255, userName)
            };

            using (var rdr = ExecuteReader(SqlSelectUser, parms))
            {
                if (rdr.Read())
                {
                    var i = 0;
                    info = new AdministratorInfo(GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++),
                                                 EPasswordFormatUtils.GetEnumType(GetString(rdr, i++)), GetString(rdr, i++),
                                                 GetDateTime(rdr, i++), GetDateTime(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++),
                                                 GetString(rdr, i++), TranslateUtils.ToBool(GetString(rdr, i++)), GetString(rdr, i++),
                                                 GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++),
                                                 GetString(rdr, i));
                }
                rdr.Close();
            }

            return(info);
        }
コード例 #4
0
        public void Update(AdministratorInfo info)
        {
            info.DisplayName = AttackUtils.FilterXss(info.DisplayName);
            info.Mobile      = AttackUtils.FilterXss(info.Mobile);
            info.Email       = AttackUtils.FilterXss(info.Email);

            IDataParameter[] parameters =
            {
                GetParameter(ParmLastActivityDate,   DataType.DateTime, info.LastActivityDate),
                GetParameter(ParmCountOfLogin,       DataType.Integer,  info.CountOfLogin),
                GetParameter(ParmCountOfFailedLogin, DataType.Integer,  info.CountOfFailedLogin),
                GetParameter(ParmIsLockedOut,        DataType.VarChar,                        18,info.IsLockedOut.ToString()),
                GetParameter(ParmSiteIdCollection,   DataType.VarChar,                        50,info.SiteIdCollection),
                GetParameter(ParmSiteId,             DataType.Integer,  info.SiteId),
                GetParameter(ParmDepartmentId,       DataType.Integer,  info.DepartmentId),
                GetParameter(ParmAreaId,             DataType.Integer,  info.AreaId),
                GetParameter(ParmDisplayname,        DataType.VarChar,                       255,info.DisplayName),
                GetParameter(ParmMobile,             DataType.VarChar,                        20,info.Mobile),
                GetParameter(ParmEmail,              DataType.VarChar,                       255,info.Email),
                GetParameter(ParmAvatarUrl,          DataType.VarChar,                       200,info.AvatarUrl),
                GetParameter(ParmUsername,           DataType.VarChar,                       255,info.UserName)
            };

            ExecuteNonQuery(SqlUpdateUser, parameters);

            DataProvider.DepartmentDao.UpdateCountOfAdmin();
            DataProvider.AreaDao.UpdateCountOfAdmin();

            AdminManager.UpdateCache(info);
        }
コード例 #5
0
        public List <int> UpdateSiteId(AdministratorInfo adminInfo, int siteId)
        {
            if (adminInfo == null)
            {
                return(null);
            }

            var siteIdListLatestAccessed = TranslateUtils.StringCollectionToIntList(adminInfo.SiteIdCollection);

            if (adminInfo.SiteId != siteId || siteIdListLatestAccessed.FirstOrDefault() != siteId)
            {
                siteIdListLatestAccessed.Remove(siteId);
                siteIdListLatestAccessed.Insert(0, siteId);

                adminInfo.SiteIdCollection = TranslateUtils.ObjectCollectionToString(siteIdListLatestAccessed);
                adminInfo.SiteId           = siteId;

                var sqlString =
                    $"UPDATE {TableName} SET SiteIdCollection = @SiteIdCollection, SiteId = @SiteId WHERE Id = @Id";

                IDataParameter[] parameters =
                {
                    GetParameter(ParmSiteIdCollection, DataType.VarChar,                50, adminInfo.SiteIdCollection),
                    GetParameter(ParmSiteId,           DataType.Integer, adminInfo.SiteId),
                    GetParameter(ParmId,               DataType.Integer, adminInfo.Id)
                };

                ExecuteNonQuery(sqlString, parameters);

                AdminManager.UpdateCache(adminInfo);
            }

            return(siteIdListLatestAccessed);
        }
コード例 #6
0
ファイル: MySelfController.cs プロジェクト: JenuraryYang/Shop
        public ActionResult SaveInfo(AdministratorInfo admin)
        {
            AdministratorInfo AdminInfo = shop.AdministratorInfo.Where(a => a.AI_Num == admin.AI_Num).FirstOrDefault();

            //判断用户没有选择性别时默认选中保密
            if (string.IsNullOrEmpty(admin.AI_Sex))
            {
                admin.AI_Sex = "2";
            }

            //判断用户没有选择注册类型时默认选中店主
            if (admin.AI_Type == null)
            {
                admin.AI_Type = 1;
            }
            AdminInfo.AI_Sex    = admin.AI_Sex;
            AdminInfo.AI_IDCard = admin.AI_IDCard;
            AdminInfo.AI_Name   = admin.AI_Name;
            AdminInfo.AI_Type   = admin.AI_Type;
            AdminInfo.AI_Alipay = admin.AI_Alipay;
            AdminInfo.AI_HImage = Session["url"].ToString();

            int count = shop.SaveChanges();

            if (count > 0)
            {
                Session["LoginInfo"] = AdminInfo;
            }
            return(RedirectToAction("Index_Information"));
        }
コード例 #7
0
        public void UpdateLastActivityDateAndCountOfLogin(AdministratorInfo adminInfo)
        {
            if (adminInfo == null)
            {
                return;
            }

            adminInfo.LastActivityDate   = DateTime.Now;
            adminInfo.CountOfLogin      += 1;
            adminInfo.CountOfFailedLogin = 0;

            var sqlString =
                $"UPDATE {TableName} SET LastActivityDate = @LastActivityDate, CountOfLogin = @CountOfLogin, CountOfFailedLogin = @CountOfFailedLogin WHERE Id = @Id";

            IDataParameter[] parameters =
            {
                GetParameter(ParmLastActivityDate,   DataType.DateTime, adminInfo.LastActivityDate),
                GetParameter(ParmCountOfLogin,       DataType.Integer,  adminInfo.CountOfLogin),
                GetParameter(ParmCountOfFailedLogin, DataType.Integer,  adminInfo.CountOfFailedLogin),
                GetParameter(ParmId,                 DataType.Integer,  adminInfo.Id)
            };

            ExecuteNonQuery(sqlString, parameters);

            AdminManager.UpdateCache(adminInfo);
        }
コード例 #8
0
ファイル: AdministratorDao.cs プロジェクト: skotbenben/cms
        private void Insert(AdministratorInfo info)
        {
            IDataParameter[] insertParms =
            {
                GetParameter(ParmUsername,                      EDataType.NVarChar,                       255, info.UserName),
                GetParameter(ParmPassword,                      EDataType.NVarChar,                       255, info.Password),
                GetParameter(ParmPasswordFormat,                EDataType.VarChar,                         50, EPasswordFormatUtils.GetValue(info.PasswordFormat)),
                GetParameter(ParmPasswordSalt,                  EDataType.NVarChar,                       128, info.PasswordSalt),
                GetParameter(ParmCreationDate,                  EDataType.DateTime, info.CreationDate),
                GetParameter(ParmLastActivityDate,              EDataType.DateTime, info.LastActivityDate),
                GetParameter(ParmCountOfLogin,                  EDataType.Integer,  info.CountOfLogin),
                GetParameter(ParmCountOfFailedLogin,            EDataType.Integer,  info.CountOfFailedLogin),
                GetParameter(ParmCreatorUsername,               EDataType.NVarChar,                       255, info.CreatorUserName),
                GetParameter(ParmIsLockedOut,                   EDataType.VarChar,                         18, info.IsLockedOut.ToString()),
                GetParameter(ParmPublishmentsystemidCollection, EDataType.VarChar,                         50, info.PublishmentSystemIdCollection),
                GetParameter(ParmPublishmentsystemid,           EDataType.Integer,  info.PublishmentSystemId),
                GetParameter(ParmDepartmentId,                  EDataType.Integer,  info.DepartmentId),
                GetParameter(ParmAreaId,                        EDataType.Integer,  info.AreaId),
                GetParameter(ParmDisplayname,                   EDataType.NVarChar,                       255, info.DisplayName),
                GetParameter(ParmEmail,                         EDataType.NVarChar,                       255, info.Email),
                GetParameter(ParmMobile,                        EDataType.VarChar,                         20, info.Mobile)
            };

            ExecuteNonQuery(SqlInsertUser, insertParms);

            BaiRongDataProvider.DepartmentDao.UpdateCountOfAdmin();
            BaiRongDataProvider.AreaDao.UpdateCountOfAdmin();
        }
コード例 #9
0
        public bool ChangePassword(AdministratorInfo adminInfo, string password, out string errorMessage)
        {
            errorMessage = string.Empty;

            if (string.IsNullOrEmpty(password))
            {
                errorMessage = "密码不能为空";
                return(false);
            }
            if (password.Length < ConfigManager.SystemConfigInfo.AdminPasswordMinLength)
            {
                errorMessage = $"密码长度必须大于等于{ConfigManager.SystemConfigInfo.AdminPasswordMinLength}";
                return(false);
            }
            if (
                !EUserPasswordRestrictionUtils.IsValid(password, ConfigManager.SystemConfigInfo.AdminPasswordRestriction))
            {
                errorMessage =
                    $"密码不符合规则,请包含{EUserPasswordRestrictionUtils.GetText(EUserPasswordRestrictionUtils.GetEnumType(ConfigManager.SystemConfigInfo.AdminPasswordRestriction))}";
                return(false);
            }

            password = EncodePassword(password, EPasswordFormat.Encrypted, out var passwordSalt);
            ChangePassword(adminInfo, EPasswordFormat.Encrypted, passwordSalt, password);
            return(true);
        }
コード例 #10
0
ファイル: RequestImpl.cs プロジェクト: ym1100/siteserver-cms
        public string AdminLogin(string userName, bool isAutoLogin)
        {
            if (string.IsNullOrEmpty(userName))
            {
                return(null);
            }
            var adminInfo = AdminManager.GetAdminInfoByUserName(userName);

            if (adminInfo == null || adminInfo.IsLockedOut)
            {
                return(null);
            }

            AdminInfo     = adminInfo;
            IsAdminLoggin = true;

            var expiresAt   = DateTime.Now.AddDays(Constants.AccessTokenExpireDays);
            var accessToken = GetAccessToken(adminInfo.Id, adminInfo.UserName, expiresAt);

            LogUtils.AddAdminLog(adminInfo.UserName, "管理员登录");

            if (isAutoLogin)
            {
                CookieUtils.SetCookie(Constants.AuthKeyAdminCookie, accessToken, expiresAt);
            }
            else
            {
                CookieUtils.SetCookie(Constants.AuthKeyAdminCookie, accessToken);
            }

            return(accessToken);
        }
コード例 #11
0
ファイル: AdministratorDao.cs プロジェクト: skotbenben/cms
        public void Update(AdministratorInfo info)
        {
            IDataParameter[] parms =
            {
                GetParameter(ParmLastActivityDate,              EDataType.DateTime, info.LastActivityDate),
                GetParameter(ParmCountOfLogin,                  EDataType.Integer,  info.CountOfLogin),
                GetParameter(ParmCountOfFailedLogin,            EDataType.Integer,  info.CountOfFailedLogin),
                GetParameter(ParmIsLockedOut,                   EDataType.VarChar,                         18,info.IsLockedOut.ToString()),
                GetParameter(ParmPublishmentsystemidCollection, EDataType.VarChar,                         50,info.PublishmentSystemIdCollection),
                GetParameter(ParmPublishmentsystemid,           EDataType.Integer,  info.PublishmentSystemId),
                GetParameter(ParmDepartmentId,                  EDataType.Integer,  info.DepartmentId),
                GetParameter(ParmAreaId,                        EDataType.Integer,  info.AreaId),
                GetParameter(ParmDisplayname,                   EDataType.NVarChar,                       255,info.DisplayName),
                GetParameter(ParmEmail,                         EDataType.NVarChar,                       255,info.Email),
                GetParameter(ParmMobile,                        EDataType.VarChar,                         20,info.Mobile),
                GetParameter(ParmUsername,                      EDataType.NVarChar,                       255,info.UserName)
            };

            ExecuteNonQuery(SqlUpdateUser, parms);

            BaiRongDataProvider.DepartmentDao.UpdateCountOfAdmin();
            BaiRongDataProvider.AreaDao.UpdateCountOfAdmin();

            AdminManager.RemoveCache(info.UserName);
        }
コード例 #12
0
        public AdministratorInfo GetByMobile(string mobile)
        {
            if (string.IsNullOrEmpty(mobile))
            {
                return(null);
            }

            AdministratorInfo info = null;

            IDataParameter[] parameters =
            {
                GetParameter(ParmMobile, DataType.VarChar, 50, mobile)
            };

            using (var rdr = ExecuteReader(SqlSelectUserByMobile, parameters))
            {
                if (rdr.Read())
                {
                    var i = 0;
                    info = new AdministratorInfo(GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++),
                                                 GetString(rdr, i++), GetString(rdr, i++), GetDateTime(rdr, i++), GetDateTime(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++),
                                                 GetString(rdr, i++), TranslateUtils.ToBool(GetString(rdr, i++)), GetString(rdr, i++),
                                                 GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++),
                                                 GetString(rdr, i));
                }
                rdr.Close();
            }

            return(info);
        }
コード例 #13
0
 private static void UpdateAdminInfoCache(Hashtable ht, AdministratorInfo adminInfo, string userName)
 {
     lock (ht.SyncRoot)
     {
         ht[userName] = adminInfo;
     }
 }
コード例 #14
0
        /// <summary>
        /// Function for the admin
        /// </summary>
        /// <param name="adminInfo"></param>
        /// <returns></returns>
        public bool AdminLogin(AdministratorInfo adminInfo)
        {
            Console.WriteLine("Into the admin login section");
            bool IsAdminRegistered = false;

            try
            {
                using (AdmissionTestingSystemEntities db = new AdmissionTestingSystemEntities())
                {
                    // Administrator admin = new Administrator();
                    var filteredResult = from s in db.Administrators
                                         select s;


                    foreach (var item in filteredResult)
                    {
                        if (item.UserName == adminInfo.UserName && item.Password == adminInfo.Password)
                        {
                            IsAdminRegistered = true;
                            break;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            return(IsAdminRegistered);
        }
コード例 #15
0
        private void backgroundWorkerForLogin_DoWork(object sender, DoWorkEventArgs e)
        {
            AdministratorInfo adminLogin = new AdministratorInfo();

            adminLogin.UserName = userBox.Text;
            adminLogin.Password = passBox.Text;
            IsLoginSuccessfull  = api.AdminLogin(adminLogin);
        }
コード例 #16
0
        public bool Insert(AdministratorInfo adminInfo, out string errorMessage)
        {
            if (!InsertValidate(adminInfo.UserName, adminInfo.Password, adminInfo.Email, adminInfo.Mobile, out errorMessage))
            {
                return(false);
            }

            try
            {
                adminInfo.LastActivityDate = DateUtils.SqlMinValue;
                adminInfo.CreationDate     = DateTime.Now;
                adminInfo.PasswordFormat   = EPasswordFormatUtils.GetValue(EPasswordFormat.Encrypted);
                adminInfo.Password         = EncodePassword(adminInfo.Password, EPasswordFormatUtils.GetEnumType(adminInfo.PasswordFormat), out var passwordSalt);
                adminInfo.PasswordSalt     = passwordSalt;

                adminInfo.DisplayName = AttackUtils.FilterXss(adminInfo.DisplayName);
                adminInfo.Email       = AttackUtils.FilterXss(adminInfo.Email);
                adminInfo.Mobile      = AttackUtils.FilterXss(adminInfo.Mobile);

                IDataParameter[] parameters =
                {
                    GetParameter(ParmUsername,           DataType.VarChar,                            255, adminInfo.UserName),
                    GetParameter(ParmPassword,           DataType.VarChar,                            255, adminInfo.Password),
                    GetParameter(ParmPasswordFormat,     DataType.VarChar,                             50, adminInfo.PasswordFormat),
                    GetParameter(ParmPasswordSalt,       DataType.VarChar,                            128, adminInfo.PasswordSalt),
                    GetParameter(ParmCreationDate,       DataType.DateTime, adminInfo.CreationDate),
                    GetParameter(ParmLastActivityDate,   DataType.DateTime, adminInfo.LastActivityDate),
                    GetParameter(ParmCountOfLogin,       DataType.Integer,  adminInfo.CountOfLogin),
                    GetParameter(ParmCountOfFailedLogin, DataType.Integer,  adminInfo.CountOfFailedLogin),
                    GetParameter(ParmCreatorUsername,    DataType.VarChar,                            255, adminInfo.CreatorUserName),
                    GetParameter(ParmIsLockedOut,        DataType.VarChar,                             18, adminInfo.IsLockedOut.ToString()),
                    GetParameter(ParmSiteIdCollection,   DataType.VarChar,                             50, adminInfo.SiteIdCollection),
                    GetParameter(ParmSiteId,             DataType.Integer,  adminInfo.SiteId),
                    GetParameter(ParmDepartmentId,       DataType.Integer,  adminInfo.DepartmentId),
                    GetParameter(ParmAreaId,             DataType.Integer,  adminInfo.AreaId),
                    GetParameter(ParmDisplayname,        DataType.VarChar,                            255, adminInfo.DisplayName),
                    GetParameter(ParmMobile,             DataType.VarChar,                             20, adminInfo.Mobile),
                    GetParameter(ParmEmail,              DataType.VarChar,                            255, adminInfo.Email),
                    GetParameter(ParmAvatarUrl,          DataType.VarChar,                            200, adminInfo.AvatarUrl)
                };

                ExecuteNonQuery(SqlInsertUser, parameters);

                DataProvider.DepartmentDao.UpdateCountOfAdmin();
                DataProvider.AreaDao.UpdateCountOfAdmin();

                var roles = new[] { EPredefinedRoleUtils.GetValue(EPredefinedRole.Administrator) };
                DataProvider.AdministratorsInRolesDao.AddUserToRoles(adminInfo.UserName, roles);

                return(true);
            }
            catch (Exception ex)
            {
                errorMessage = ex.Message;
                return(false);
            }
        }
コード例 #17
0
        public bool Add(AdministratorInfo administratorInfo)
        {
            string strSql = "INSERT INTO PE_Admin (AdminId, AdminName, AdminPassword, UserName, EnableMultiLogin, RndPassword, LoginTimes, LastLoginIP, LastLoginTime, LastLogoutTime, LastModifyPasswordTime, IsLock, EnableModifyPassword) VALUES (@AdminId, @AdminName, @AdminPassword, @UserName, @EnableMultiLogin, @RndPassword, @LoginTimes, @LastLoginIp, @LastLoginTime, @LastLogoutTime, @LastModifyPasswordTime, @IsLock, @EnableModifyPassword)";

            administratorInfo.AdminId = GetNewId();
            Parameters cmdParams = GetParameters(administratorInfo);

            return(DBHelper.ExecuteSql(strSql, cmdParams));
        }
コード例 #18
0
ファイル: MySelfController.cs プロジェクト: JenuraryYang/Shop
        public ActionResult Update_PWD()
        {
            AdministratorInfo admin = Session["LoginInfo"] as AdministratorInfo;

            AdministratorInfo adminInfo = shop.AdministratorInfo.Where(a => a.AI_Num == admin.AI_Num).FirstOrDefault();

            ViewBag.Number = adminInfo.AI_Num;
            ViewBag.Pwd    = adminInfo.AI_LoginPwd;

            return(View());
        }
コード例 #19
0
        private void ModifyAdmin()
        {
            AdministratorInfo administratorByAdminId = Administrators.GetAdministratorByAdminId(BasePage.RequestInt32("AdminId"));

            if (string.IsNullOrEmpty(this.TxtPassword.Text.Trim()))
            {
                administratorByAdminId.AdminPassword = this.ViewState["Password"].ToString();
            }
            else
            {
                administratorByAdminId.AdminPassword = StringHelper.MD5(this.TxtPassword.Text);
            }
            if ((!administratorByAdminId.EnableModifyPassword && (administratorByAdminId.AdminPassword != this.ViewState["Password"].ToString())) && !PEContext.Current.Admin.IsSuperAdmin)
            {
                AdminPage.WriteErrMsg("没有修改密码的权限!");
            }
            if (administratorByAdminId.AdminPassword != this.ViewState["Password"].ToString())
            {
                administratorByAdminId.LastModifyPasswordTime = new DateTime?(DateTime.Now);
            }
            if (string.Compare(this.TxtUserName.Text.Trim(), this.ViewState["UserName"].ToString(), StringComparison.OrdinalIgnoreCase) != 0)
            {
                UserInfo usersByUserName = Users.GetUsersByUserName(this.TxtUserName.Text.Trim());
                if (usersByUserName.IsNull)
                {
                    AdminPage.WriteErrMsg("此前台用户名不存在!");
                }
                if (!Administrators.GetAdministratorByUserName(usersByUserName.UserName).IsNull)
                {
                    AdminPage.WriteErrMsg("此前台用户已经被添加为管理员了!");
                }
            }
            administratorByAdminId.UserName             = this.TxtUserName.Text.Trim();
            administratorByAdminId.IsLock               = this.ChkIsLock.Checked;
            administratorByAdminId.EnableModifyPassword = this.ChkEnableModifyPassword.Checked;
            administratorByAdminId.EnableMultiLogOn     = this.ChkEnableMultiLogin.Checked;
            if (Administrators.Update(administratorByAdminId))
            {
                if (this.RadPurview1.Checked)
                {
                    RoleMembers.AddMemberToRoles(administratorByAdminId.AdminId, "0");
                }
                else
                {
                    RoleMembers.AddMemberToRoles(administratorByAdminId.AdminId, this.HdnBelongToRole.Value);
                }
                AdminPage.WriteSuccessMsg("修改管理员成功!", "AdministratorManage.aspx");
            }
            else
            {
                AdminPage.WriteErrMsg("修改管理员失败!");
            }
        }
コード例 #20
0
ファイル: AdministratorDao.cs プロジェクト: justgohead/cms-1
        public bool Insert(AdministratorInfo userInfo, out string errorMessage)
        {
            errorMessage = string.Empty;
            if (string.IsNullOrEmpty(userInfo.UserName))
            {
                errorMessage = "用户名不能为空";
                return(false);
            }
            if (userInfo.UserName.Length < ConfigManager.SystemConfigInfo.AdminUserNameMinLength)
            {
                errorMessage = $"用户名长度必须大于等于{ConfigManager.SystemConfigInfo.AdminUserNameMinLength}";
                return(false);
            }
            if (IsAdminNameExists(userInfo.UserName))
            {
                errorMessage = "用户名已存在,请更换用户名";
                return(false);
            }

            if (string.IsNullOrEmpty(userInfo.Password))
            {
                errorMessage = "密码不能为空";
                return(false);
            }
            if (userInfo.Password.Length < ConfigManager.SystemConfigInfo.AdminPasswordMinLength)
            {
                errorMessage = $"密码长度必须大于等于{ConfigManager.SystemConfigInfo.AdminPasswordMinLength}";
                return(false);
            }
            if (
                !EUserPasswordRestrictionUtils.IsValid(userInfo.Password,
                                                       ConfigManager.SystemConfigInfo.AdminPasswordRestriction))
            {
                errorMessage =
                    $"密码不符合规则,请包含{EUserPasswordRestrictionUtils.GetText(EUserPasswordRestrictionUtils.GetEnumType(ConfigManager.SystemConfigInfo.AdminPasswordRestriction))}";
                return(false);
            }

            try
            {
                string passwordSalt;
                userInfo.Password     = EncodePassword(userInfo.Password, userInfo.PasswordFormat, out passwordSalt);
                userInfo.PasswordSalt = passwordSalt;
                Insert(userInfo);
                return(true);
            }
            catch (Exception ex)
            {
                errorMessage = ex.Message;
                return(false);
            }
        }
コード例 #21
0
ファイル: MySelfController.cs プロジェクト: JenuraryYang/Shop
        public ActionResult Index_Information()
        {
            AdministratorInfo admin = Session["LoginInfo"] as AdministratorInfo;

            if (Session["url"] == null)
            {
                Session["url"] = admin.AI_HImage;
            }

            admin = shop.AdministratorInfo.Where(a => a.AI_Num == admin.AI_Num && a.AI_LoginPwd == admin.AI_LoginPwd).FirstOrDefault();


            return(View(admin));
        }
コード例 #22
0
ファイル: AdministratorDao.cs プロジェクト: justgohead/cms-1
        public AdministratorInfo GetByAccount(string account)
        {
            AdministratorInfo info = null;

            string sqlString;

            IDataParameter[] parms;
            if (StringUtils.IsMobile(account))
            {
                sqlString = SqlSelectUserByMobile;
                parms     = new IDataParameter[]
                {
                    GetParameter(ParmMobile, DataType.VarChar, 50, account)
                };
            }
            else if (StringUtils.IsEmail(account))
            {
                sqlString = SqlSelectUserByEmail;
                parms     = new IDataParameter[]
                {
                    GetParameter(ParmEmail, DataType.VarChar, 50, account)
                };
            }
            else
            {
                sqlString = SqlSelectUser;
                parms     = new IDataParameter[]
                {
                    GetParameter(ParmUsername, DataType.VarChar, 255, account)
                };
            }

            using (var rdr = ExecuteReader(sqlString, parms))
            {
                if (rdr.Read())
                {
                    var i = 0;
                    info = new AdministratorInfo(GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++),
                                                 EPasswordFormatUtils.GetEnumType(GetString(rdr, i++)), GetString(rdr, i++),
                                                 GetDateTime(rdr, i++), GetDateTime(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++),
                                                 GetString(rdr, i++), TranslateUtils.ToBool(GetString(rdr, i++)), GetString(rdr, i++),
                                                 GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++),
                                                 GetString(rdr, i));
                }
                rdr.Close();
            }

            return(info);
        }
コード例 #23
0
ファイル: ConfigDao.cs プロジェクト: yankaics/cms-1
        public void InitializeUserRole(string userName, string password)
        {
            RoleManager.CreatePredefinedRoles();

            var administratorInfo = new AdministratorInfo
            {
                UserName = userName,
                Password = password
            };

            string errorMessage;

            AdminManager.CreateAdministrator(administratorInfo, out errorMessage);
            BaiRongDataProvider.RoleDao.AddUserToRole(userName, EPredefinedRoleUtils.GetValue(EPredefinedRole.ConsoleAdministrator));
        }
コード例 #24
0
        private void AddAdmin()
        {
            UserInfo usersByUserName = Users.GetUsersByUserName(this.TxtUserName.Text.Trim());

            if (usersByUserName.IsNull)
            {
                AdminPage.WriteErrMsg("此前台用户名不存在!");
            }
            AdministratorInfo adminInfo = new AdministratorInfo();

            adminInfo.AdminName            = this.TxtAdminName.Text.Trim();
            adminInfo.UserName             = this.TxtUserName.Text.Trim();
            adminInfo.IsLock               = this.ChkIsLock.Checked;
            adminInfo.EnableModifyPassword = this.ChkEnableModifyPassword.Checked;
            if (string.IsNullOrEmpty(this.TxtPassword.Text.Trim()))
            {
                AdminPage.WriteErrMsg("管理员密码不能为空");
            }
            else
            {
                adminInfo.AdminPassword = StringHelper.MD5(this.TxtPassword.Text);
            }
            adminInfo.EnableMultiLogOn = this.ChkEnableMultiLogin.Checked;
            if (Administrators.IsExist(adminInfo.AdminName))
            {
                AdminPage.WriteErrMsg("已经存在同样的管理员名!");
            }
            if (!Administrators.GetAdministratorByUserName(usersByUserName.UserName).IsNull)
            {
                AdminPage.WriteErrMsg("此前台用户已经被添加为管理员了!");
            }
            if (Administrators.Add(adminInfo))
            {
                if (this.RadPurview1.Checked)
                {
                    RoleMembers.AddMemberToRoles(adminInfo.AdminId, "0");
                }
                else
                {
                    RoleMembers.AddMemberToRoles(adminInfo.AdminId, this.HdnBelongToRole.Value);
                }
                AdminPage.WriteSuccessMsg("添加管理员成功!", "AdministratorManage.aspx");
            }
            else
            {
                AdminPage.WriteErrMsg("添加管理员失败!");
            }
        }
コード例 #25
0
        public PermissionsImpl(AdministratorInfo adminInfo)
        {
            if (adminInfo == null || adminInfo.IsLockedOut)
            {
                return;
            }

            _adminInfo = adminInfo;

            _rolesKey                 = GetRolesCacheKey(adminInfo.UserName);
            _permissionListKey        = GetPermissionListCacheKey(adminInfo.UserName);
            _websitePermissionDictKey = GetWebsitePermissionDictCacheKey(adminInfo.UserName);
            _channelPermissionDictKey = GetChannelPermissionDictCacheKey(adminInfo.UserName);
            _channelPermissionListIgnoreChannelIdKey = GetChannelPermissionListIgnoreChannelIdCacheKey(adminInfo.UserName);
            _channelIdListKey = GetChannelIdListCacheKey(adminInfo.UserName);
        }
コード例 #26
0
ファイル: SystemManager.cs プロジェクト: Harver/cms-1
        public static void InstallDatabase(string adminName, string adminPassword)
        {
            SyncDatabase();

            if (!string.IsNullOrEmpty(adminName) && !string.IsNullOrEmpty(adminPassword))
            {
                var administratorInfo = new AdministratorInfo
                {
                    UserName = adminName,
                    Password = adminPassword
                };

                AdminManager.CreateAdministrator(administratorInfo, out _);
                DataProvider.AdministratorsInRolesDao.AddUserToRole(adminName, EPredefinedRoleUtils.GetValue(EPredefinedRole.ConsoleAdministrator));
            }
        }
コード例 #27
0
        public IList <AdministratorInfo> GetMemberListNotInRole(int roleId)
        {
            IList <AdministratorInfo> list = new List <AdministratorInfo>();
            string     strSql    = "SELECT * FROM PE_Admin WHERE (AdminID NOT IN (SELECT AdminID FROM PE_Admin_Roles WHERE (RoleID = @RoleID)))";
            Parameters cmdParams = new Parameters("@RoleID", DbType.Int32, roleId);

            using (NullableDataReader reader = DBHelper.ExecuteReaderSql(strSql, cmdParams))
            {
                while (reader.Read())
                {
                    AdministratorInfo adminInfoFromrdr = GetAdminInfoFromrdr(reader);
                    list.Add(adminInfoFromrdr);
                }
            }
            return(list);
        }
コード例 #28
0
        public AdministratorInfo ApiGetAdministrator(int id)
        {
            AdministratorInfo adminInfo = null;

            var sqlString = $"SELECT * FROM {TableName} WHERE Id = @Id";

            using (var connection = GetConnection())
            {
                var dbInfo = connection.QuerySingleOrDefault <AdministratorInfoDatabase>(sqlString, new { Id = id });
                if (dbInfo != null)
                {
                    adminInfo = dbInfo.ToAdministratorInfo();
                }
            }

            return(adminInfo);
        }
コード例 #29
0
        private static AdministratorInfo GetAdminInfoFromrdr(NullableDataReader rdr)
        {
            AdministratorInfo info = new AdministratorInfo();

            info.AdminId                = rdr.GetInt32("AdminId");
            info.AdminName              = rdr.GetString("AdminName");
            info.AdminPassword          = rdr.GetString("AdminPassword");
            info.UserName               = rdr.GetString("UserName");
            info.EnableMultiLogOn       = rdr.GetBoolean("EnableMultilogin");
            info.RndPassword            = rdr.GetString("RndPassword");
            info.LogOnTimes             = rdr.GetInt32("LoginTimes");
            info.LastLogOnIP            = rdr.GetString("LastLoginIp");
            info.LastLogOnTime          = rdr.GetNullableDateTime("LastLoginTime");
            info.LastLogOffTime         = rdr.GetNullableDateTime("LastLogoutTime");
            info.LastModifyPasswordTime = rdr.GetNullableDateTime("LastModifyPasswordTime");
            return(info);
        }
コード例 #30
0
        private static Parameters GetParameters(AdministratorInfo administratorInfo)
        {
            Parameters parameters = new Parameters();

            parameters.AddInParameter("@AdminId", DbType.Int32, administratorInfo.AdminId);
            parameters.AddInParameter("@AdminName", DbType.String, administratorInfo.AdminName);
            parameters.AddInParameter("@AdminPassword", DbType.String, administratorInfo.AdminPassword);
            parameters.AddInParameter("@UserName", DbType.String, administratorInfo.UserName);
            parameters.AddInParameter("@EnableMultiLogin", DbType.Boolean, administratorInfo.EnableMultiLogOn);
            parameters.AddInParameter("@RndPassword", DbType.String, administratorInfo.RndPassword);
            parameters.AddInParameter("@LoginTimes", DbType.Int32, administratorInfo.LogOnTimes);
            parameters.AddInParameter("@LastLoginIp", DbType.String, administratorInfo.LastLogOnIP);
            parameters.AddInParameter("@LastLoginTime", DbType.DateTime, administratorInfo.LastLogOnTime);
            parameters.AddInParameter("@LastLogoutTime", DbType.DateTime, administratorInfo.LastLogOffTime);
            parameters.AddInParameter("@LastModifyPasswordTime", DbType.DateTime, administratorInfo.LastModifyPasswordTime);
            parameters.AddInParameter("@IsLock", DbType.Boolean, administratorInfo.IsLock);
            parameters.AddInParameter("@EnableModifyPassword", DbType.Boolean, administratorInfo.EnableModifyPassword);
            return(parameters);
        }