Exemplo n.º 1
0
        // Overload for Report operations
        public bool CheckAccess(
            string userName,
            IntPtr userToken,
            byte[] secDesc,
            ReportOperation 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 (ReportOperation aclOperation in
                             ace.ReportOperations)
                    {
                        if (aclOperation == requiredOperation)
                        {
                            return(true);
                        }
                    }
                }
            }
            return(false);
        }
        // Overload for Report operations
        public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, ReportOperation 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 (ReportOperation aclOperation in
                             ace.ReportOperations)
                    {
                        if (aclOperation == requiredOperation)
                        {
                            return(true);
                        }
                    }
                }
            }
            return(false);
        }
Exemplo n.º 3
0
        public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, ReportOperation 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 (ReportOperation aclOperation in ace.ReportOperations)
                    {
                        if (aclOperation == requiredOperation)
                        {
                            return(true);
                        }
                    }
                }
            }

            return(false);
        }
Exemplo n.º 4
0
        public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, ReportOperation 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 (ReportOperation operation in ace.ReportOperations)
                    {
                        if (operation == requiredOperation)
                        {
                            return(true);
                        }
                    }
                }
            }

            return(false);
        }
Exemplo n.º 5
0
        public ReportWindow(ViewReport report, ReportOperation operation, UserView engineer, IEnumerable <ViewTask> tasks)
        {
            InitializeComponent();

            _report = report;
            if (_report == null)
            {
                _report = new ViewReport();
            }
            _operation = operation;
            _engineer  = engineer;

            Tasks = tasks;
            switch (operation)
            {
            case ReportOperation.Add:
                Header = "Create report";
                Active = true;
                break;

            case ReportOperation.Update:
                Header = "Update report";
                SetForm(_report);
                Active = true;
                break;

            case ReportOperation.Delete:
                Header = "Delete this report?";
                SetForm(_report);
                Active = false;
                break;
            }
        }
Exemplo n.º 6
0
 // Overload for Report operations
 public bool CheckAccess(
     string userName,
     IntPtr userToken,
     byte[] secDesc,
     ReportOperation requiredOperation)
 {
     EventLog.WriteEntry("SSRS-AZ", "CheckAccess - ReportOperation", EventLogEntryType.Information);
     return(true);
 }
Exemplo n.º 7
0
 public static void TryCatchReport(ReportOperation reportOperation)
 {
     try
     {
         reportOperation();
     }
     catch (ReportGeneratingException e)
     {
         ReportExcLog(e);
     }
 }
Exemplo n.º 8
0
        // Overload for Report operations


        public bool CheckAccess(


            string userName,


            IntPtr userToken,


            byte[] secDesc,


            ReportOperation requiredOperation)


        {
            return(true);
        }
Exemplo n.º 9
0
 public ReportController()
 {
     this.reportOperation = new ReportOperation();
 }
Exemplo n.º 10
0
        // Overload for Report operations
        public bool CheckAccess(
         string userName, 
         IntPtr userToken, 
         byte[] secDesc, 
         ReportOperation 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(ReportOperation aclOperation in
                  ace.ReportOperations)
               {
                  if (aclOperation == requiredOperation)
                     return true;
               }
            }
             }
             return false;
        }
 public int Add(ReportOperation operation)
 {
     return(base.InnerList.Add(operation));
 }
Exemplo n.º 12
0
 // Overload for Report operations
 public bool CheckAccess(
     string userName,
     IntPtr userToken,
     byte[] secDesc,
     ReportOperation requiredOperation)
 {
     return true;
 }