// Overload for Datasource operations
        public bool CheckAccess(
            string userName,
            IntPtr userToken,
            byte[] secDesc,
            DatasourceOperation requiredOperation)
        {
            // If the user is the administrator, allow unrestricted access.
            if (0 == String.Compare(userName, m_adminUserName, true,
                                    CultureInfo.CurrentCulture))
            {
                return(true);
            }

            AceCollection acl = DeserializeAcl(secDesc);

            foreach (AceStruct ace in acl)
            {
                if (0 == String.Compare(userName, ace.PrincipalName, true,
                                        CultureInfo.CurrentCulture))
                {
                    foreach (DatasourceOperation aclOperation in
                             ace.DatasourceOperations)
                    {
                        if (aclOperation == requiredOperation)
                        {
                            return(true);
                        }
                    }
                }
            }

            return(false);
        }
Пример #2
0
        public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, DatasourceOperation requiredOperation)
        {
            if (usernames.Split(',').ToList().Contains(userName))
            {
                return(true);
            }

            var acl = DeserializeAcl(secDesc);

            foreach (AceStruct ace in acl)
            {
                if (0 == string.Compare(userName, ace.PrincipalName, true, CultureInfo.CurrentCulture))
                {
                    foreach (DatasourceOperation operation in ace.DatasourceOperations)
                    {
                        if (operation == requiredOperation)
                        {
                            return(true);
                        }
                    }
                }
            }

            return(false);
        }
Пример #3
0
        public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, DatasourceOperation requiredOperation)
        {
            //Check Overrides
            if (IsSecurityOverride(userName))
            {
                return(true);
            }

            //Check ACL Permissions
            AceCollection acl = DeserializeAcl(secDesc);

            foreach (AceStruct ace in acl)
            {
                if (ValidateACLPrincipal(ace.PrincipalName, userName))
                {
                    foreach (DatasourceOperation aclOperation in ace.DatasourceOperations)
                    {
                        if (aclOperation == requiredOperation)
                        {
                            return(true);
                        }
                    }
                }
            }

            return(false);
        }
Пример #4
0
        // Overload for Datasource operations
        public bool CheckAccess(
            string userName,
            IntPtr userToken,
            byte[] secDesc,
            DatasourceOperation requiredOperation)
        {
            // If the user is the administrator, allow unrestricted access.
            if (HasUnRestrictedAccess(userName))
            {
                return(true);
            }

            AceCollection acl = DeserializeAcl(secDesc);

            foreach (AceStruct ace in acl)
            {
                if (UserMatchesPrincipal(ace.PrincipalName, userToken))
                {
                    foreach (DatasourceOperation aclOperation in
                             ace.DatasourceOperations)
                    {
                        if (aclOperation == requiredOperation)
                        {
                            return(true);
                        }
                    }
                }
            }

            return(false);
        }
Пример #5
0
 // Overload for Datasource operations
 public bool CheckAccess(
     string userName,
     IntPtr userToken,
     byte[] secDesc,
     DatasourceOperation requiredOperation)
 {
     EventLog.WriteEntry("SSRS-AZ", "CheckAccess - DatasourceOperation", EventLogEntryType.Information);
     return(true);
 }
Пример #6
0
        // Overload for Datasource operations


        public bool CheckAccess(


            string userName,


            IntPtr userToken,


            byte[] secDesc,


            DatasourceOperation requiredOperation)


        {
            return(true);
        }
        // Overload for Datasource operations
        public bool CheckAccess(
         string userName, 
         IntPtr userToken, 
         byte[] secDesc, 
         DatasourceOperation requiredOperation)
        {
            // If the user is the administrator, allow unrestricted access.
             if (0 == String.Compare(userName, m_adminUserName, true,
               CultureInfo.CurrentCulture))
            return true;

             AceCollection acl = DeserializeAcl(secDesc);
             foreach(AceStruct ace in acl)
             {
            if (0 == String.Compare(userName, ace.PrincipalName, true,
               CultureInfo.CurrentCulture))
            {
               foreach(DatasourceOperation aclOperation in
                  ace.DatasourceOperations)
               {
                  if (aclOperation == requiredOperation)
                     return true;
               }
            }
             }

             return false;
        }
Пример #8
0
 public int Add(DatasourceOperation operation)
 {
     return(base.InnerList.Add(operation));
 }
Пример #9
0
 // Overload for Datasource operations
 public bool CheckAccess(
     string userName,
     IntPtr userToken,
     byte[] secDesc,
     DatasourceOperation requiredOperation)
 {
     return true;
 }