예제 #1
0
        /// <summary>
        /// 设置授权
        /// </summary>
        protected virtual void SetAuthorization( )
        {
            if (pagePowerList == null)
            {
                Redirect("/NotPower.html");
            }

            string     pageName   = GameRequest.GetPageName( );
            ModulePage modulePage = pagePowerList.Find(delegate(ModulePage mPage)
            {
                foreach (string str in mPage.PageName.Split(','))
                {
                    if (str.Equals(pageName, StringComparison.InvariantCultureIgnoreCase))
                    {
                        return(true);
                    }
                }
                ;
                return(false);
            });

            if (modulePage != null)
            {
                moduleID = modulePage.ModuleID;
            }
            else
            {
                Redirect("/NotPower.html");
            }
        }
예제 #2
0
        /// <summary>
        /// 页面载入
        /// </summary>
        /// <param name="e"></param>
        protected override void OnInit(EventArgs e)
        {
            //获取登录用户
            userExt = Fetch.GetLoginUser();
            if (userExt == null || userExt.UserID <= 0)
            {
                RedirectToLogin("/Login.aspx");
                return;
            }
            //获取缓存资源信息
            LoginCache cache = Fetch.GetLoginResources(userExt.UserID);
            //验证页面授权
            string     pageName   = GameRequest.GetPageName();
            ModulePage modulePage = (cache != null & cache.pagePowerList != null)
                ? cache.pagePowerList.Where(p => p.PageName.ToLower().Contains(pageName)).FirstOrDefault <ModulePage>()
                : null;

            if (modulePage == null || modulePage.ModuleID <= 0)
            {
                RedirectToLogin("/Login.aspx");
                return;
            }
            moduleID = modulePage.ModuleID;
            //验证用户权限
            userPower = (cache != null & cache.userPower != null) ? cache.userPower : null;
            if (userExt == null || userPower == null || userPower.Count == 0)
            {
                RedirectToLogin("/Login.aspx");
                return;
            }
            if (userExt.RoleID != 1)
            {
                if (!userPower.ContainsKey(moduleID.ToString()) ||
                    (userPower[moduleID.ToString()] & Convert.ToInt64(Permission.Read)) <= 0)
                {
                    Redirect("/NotPower.html");
                    return;
                }
            }
        }