Esempio n. 1
0
        /// <summary>
        /// 根據目前登入者檢查是否有權限存取功能
        /// </summary>
        /// <param name="appFunctionId"></param>
        /// <returns></returns>
        public static bool CheckAuthorization(MasterMember loginUser, SiteEntities appFunction)
        {
            int appFunctionId = (int)appFunction;

            if (loginUser == null)
            {
                return false;
            }

            if (loginUser != null && appFunctionId == 0)
            {
                return true;
            }

            bool returnValue = false;

            //// 判斷使用者是否具有可以存取功能的角色,只要AdminValue大於0表示有此Menu
            var roles = from userRole in loginUser.AdminRoles
                        where userRole.AdminBar.AdminBarId == appFunctionId
                        && userRole.AdminValue > 0
                        select userRole;

            if (roles.Count() > 0)
            {
                returnValue = true;
            }

            return returnValue;
        }
Esempio n. 2
0
        /// <summary>
        /// 根據目前登入者檢查是否有權限存取功能
        /// </summary>
        /// <param name="appFunctionId"></param>
        /// <returns></returns>
        public static bool CheckAuthorization(MasterMember loginUser, int appFunctionId, int operations)
        {
            if (loginUser == null)
            {
                return false;
            }

            if (loginUser != null && operations == 0 && appFunctionId == 0)
            {
                return true;
            }

            bool returnValue = false;

            //// 判斷使用者是否具有可以存取功能的角色
            var roles = from userRole in loginUser.AdminRoles
                        where userRole.AdminBar.AdminBarId == appFunctionId
                        && (userRole.AdminValue & operations) == operations
                        select userRole;

            if (roles.Count() > 0)
            {
                returnValue = true;
            }

            return returnValue;
        }
Esempio n. 3
0
 /// <summary>
 /// 根據目前登入者檢查是否有權限存取功能
 /// </summary>
 /// <param name="appFunctionId"></param>
 /// <returns></returns>
 public static bool CheckAuthorization(MasterMember loginUser, SiteEntities appFunction, SiteOperations operation)
 {
     return CheckAuthorization(loginUser, (int)appFunction, (int)operation);
 }
Esempio n. 4
0
 /// <summary>
 /// 更新管理者帳號
 /// </summary>
 /// <param name="masterMember">被更新的管理者帳號</param>
 /// <returns>更新後的管理者帳號</returns>
 public MasterMember UpdateMasterMember(MasterMember masterMember)
 {
     return FTISDao.UpdateMasterMember(masterMember);
 }
Esempio n. 5
0
 /// <summary>
 /// 刪除管理者帳號
 /// </summary>
 /// <param name="masterMember">被刪除的管理者帳號</param>
 public void DeleteMasterMember(MasterMember masterMember)
 {
     FTISDao.DeleteMasterMember(masterMember);
 }
Esempio n. 6
0
 /// <summary>
 /// 管理者帳號
 /// </summary>
 /// <param name="masterMember">被新增的管理者帳號</param>
 /// <returns>新增後的管理者帳號</returns>
 public MasterMember CreateMasterMember(MasterMember masterMember)
 {
     return FTISDao.CreateMasterMember(masterMember);
 }
Esempio n. 7
0
        /// <summary>
        /// 取得一個新的管理者帳號空殼
        /// </summary>
        /// <returns></returns>
        public MasterMember MakeMasterMember()
        {
            MasterMember masterMember = new MasterMember();
            masterMember.AdminRoles = new List<AdminRole>();
            IList<AdminBar> allAdminBar = GetAllAdminBar();
            foreach (AdminBar adminBar in allAdminBar)
            {
                AdminRole adminRole = new AdminRole();
                adminRole.MasterMember = masterMember;
                adminRole.AdminBar = adminBar;
                masterMember.AdminRoles.Add(adminRole);
            }

            return masterMember;
        }
        private void Save(MasterMember entity)
        {
            entity.MasterMemberId = EntityId;
            entity.Name = Name;
            entity.Account = Account;
            ////因為密碼加密,Load時會給一個m_DefaultPass,存檔時要不同才會去修改密碼
            if (!m_DefaultPass.Equals(Password))
            {
                entity.Password = EncryptUtil.GetMD5(Password);
            }
            entity.Status = Status;
            entity.Email = Email;
            entity.Tel = Tel;
            entity.Memo = Memo;

            ////權限
            foreach (AdminRole role in entity.AdminRoles)
            {
                if (role.AdminBar.AdminBarId.Equals((int)SiteEntities.Grade))
                {
                    continue;
                }

                role.AdminValue = SetRolesAdminValue(role.AdminBar.AdminBarId);
            }

            if (entity.MasterMemberId == 0)
            {
                entity.RegDate = DateTime.Now;
                m_FTISService.CreateMasterMember(entity);
            }
            else
            {
                m_FTISService.UpdateMasterMember(entity);
            }

            ////重新取得user
            LoginUserContainer.GetInstance().InitMember(this.Account);

            LoadEntity(entity.MasterMemberId);
        }
        private string[] GetRolesBarList(MasterMember entity , SiteEntities siteEntities)
        {
            IList<string> list = new List<string>();

            foreach (SiteOperations operation in Enum.GetValues(typeof(SiteOperations)))
            {
                if (operation == SiteOperations.None)
                {
                    continue;
                }

                if (ACUtility.CheckAuthorization(entity, (int)siteEntities, (int)operation))
                {
                    list.Add(((int)operation).ToString());
                }
            }

            if (list.Count > 0)
            {
                return list.ToArray();
            }
            else
            {
                return new string[] { };
            }
        }        
Esempio n. 10
0
 protected void LoadEntity(MasterMember entity)
 {
     if (entity != null)
     {
         EntityId = entity.MasterMemberId;
         Name = entity.Name;
         Account = entity.Account;
         Password = m_DefaultPass;
         Status = entity.Status;
         RegDate = entity.RegDate;
         Email = entity.Email;
         Tel = entity.Tel;
         Memo = entity.Memo;
         
         ////權限
         RolesBarList1 = GetRolesBarList(entity, SiteEntities.Master);
         RolesBarList2 = GetRolesBarList(entity, SiteEntities.AboutUs);
         RolesBarList3 = GetRolesBarList(entity, SiteEntities.News);
         RolesBarList4 = GetRolesBarList(entity, SiteEntities.HomeNews);
         RolesBarList5 = GetRolesBarList(entity, SiteEntities.Activity);
         RolesBarList6 = GetRolesBarList(entity, SiteEntities.Member);
         RolesBarList7 = GetRolesBarList(entity, SiteEntities.Download);
         RolesBarList8 = GetRolesBarList(entity, SiteEntities.Norm);
         RolesBarList9 = GetRolesBarList(entity, SiteEntities.Carbon);
         RolesBarList10 = GetRolesBarList(entity, SiteEntities.Application);
         RolesBarList11 = GetRolesBarList(entity, SiteEntities.Grade);
         RolesBarList12 = GetRolesBarList(entity, SiteEntities.Question);
         RolesBarList13 = GetRolesBarList(entity, SiteEntities.Links);
         RolesBarList14 = GetRolesBarList(entity, SiteEntities.Epaper);
         RolesBarList15 = GetRolesBarList(entity, SiteEntities.Season);
         RolesBarList16 = GetRolesBarList(entity, SiteEntities.Examination);
         RolesBarList17 = GetRolesBarList(entity, SiteEntities.GreenFactory);
     }
 }