Example #1
0
        // -------------------------------------------------------
        // 权限
        // -------------------------------------------------------

        #region 私有函数:GetAuthorizationReadObject(ApplicationMenuInfo param)
        ///<summary>验证对象的权限</summary>
        ///<param name="param">需验证的对象</param>
        ///<returns>对象</returns>
        private ApplicationMenuInfo GetAuthorizationReadObject(ApplicationMenuInfo param)
        {
            IAccountInfo account = KernelContext.Current.User;

            if (AppsSecurity.IsAdministrator(account, AppsConfiguration.ApplicationName))
            {
                return(param);
            }
            else
            {
                if (MembershipAuthorizationScopeManagement.Authenticate(param.AuthorizationReadScopeObjects, account))
                {
                    return(param);
                }

                return(null);
            }
        }
        // -------------------------------------------------------
        // 权限设置
        // -------------------------------------------------------

        #region 函数:HasAuthorizationReadObject(BugInfo param)
        /// <summary>验证对象的权限</summary>
        /// <param name="param">需验证的对象</param>
        /// <returns>对象</returns>
        private bool HasAuthority(BugInfo param)
        {
            IAccountInfo account = KernelContext.Current.User;

            if (AppsSecurity.IsAdministrator(account, "Bug") ||
                param.AccountId == account.Id ||
                param.AssignToAccountId == account.Id)
            {
                return(true);
            }
            else
            {
                if (MembershipAuthorizationScopeManagement.Authenticate(param.AuthorizationReadScopeObjects, account))
                {
                    return(true);
                }

                return(false);
            }
        }