Beispiel #1
0
        public void Unrestricted()
        {
            MessageQueuePermissionAttribute a = new MessageQueuePermissionAttribute(SecurityAction.Assert);

            a.MachineName  = "localhost";
            a.Unrestricted = true;
            MessageQueuePermission mqp = (MessageQueuePermission)a.CreatePermission();

            Assert.IsTrue(mqp.IsUnrestricted(), "IsUnrestricted");

            a.Unrestricted = false;
            mqp            = (MessageQueuePermission)a.CreatePermission();
            Assert.IsFalse(mqp.IsUnrestricted(), "!IsUnrestricted");
        }
Beispiel #2
0
        public void Default()
        {
            MessageQueuePermissionAttribute a = new MessageQueuePermissionAttribute(SecurityAction.Assert);

            Assert.AreEqual(a.ToString(), a.TypeId.ToString(), "TypeId");
            Assert.IsFalse(a.Unrestricted, "Unrestricted");
            Assert.IsNull(a.Category, "Category");
            Assert.IsNull(a.Label, "Label");
            Assert.IsNull(a.MachineName, "MachineName");
            Assert.IsNull(a.Path, "Path");
            Assert.AreEqual(MessageQueuePermissionAccess.None, a.PermissionAccess, "PermissionAccess");

            a.MachineName = "localhost";
            MessageQueuePermission sp = (MessageQueuePermission)a.CreatePermission();

            Assert.IsFalse(sp.IsUnrestricted(), "IsUnrestricted");
        }
Beispiel #3
0
        }// CreateOtherDataTable

        //-------------------------------------------------
        // PutValuesinPage
        //
        // Initializes the controls with the provided permission
        //-------------------------------------------------
        protected override void PutValuesinPage()
        {
            // Put in the text for the radio buttons
            m_radUnrestricted.Text             = CResourceStore.GetString("MessageQueuePermission:GrantUnrestrict");
            m_radGrantFollowingPermission.Text = CResourceStore.GetString("MessageQueuePermission:GrantFollowing");

            MessageQueuePermission perm = (MessageQueuePermission)m_perm;

            CheckUnrestricted(perm);

            if (!perm.IsUnrestricted())
            {
                // Run through the list of socket permissions we have to accept connections
                IEnumerator enumer = perm.PermissionEntries.GetEnumerator();
                while (enumer.MoveNext())
                {
                    MessageQueuePermissionEntry mqpp = (MessageQueuePermissionEntry)enumer.Current;

                    String sAccess = CResourceStore.GetString("None");

                    if ((mqpp.PermissionAccess & MessageQueuePermissionAccess.Administer) == MessageQueuePermissionAccess.Administer)
                    {
                        sAccess = CResourceStore.GetString("MessageQueuePermission:Administer");
                    }
                    else if ((mqpp.PermissionAccess & MessageQueuePermissionAccess.Receive) == MessageQueuePermissionAccess.Receive)
                    {
                        sAccess = CResourceStore.GetString("MessageQueuePermission:Receive");
                    }
                    else if ((mqpp.PermissionAccess & MessageQueuePermissionAccess.Peek) == MessageQueuePermissionAccess.Peek)
                    {
                        sAccess = CResourceStore.GetString("MessageQueuePermission:Peek");
                    }
                    else if ((mqpp.PermissionAccess & MessageQueuePermissionAccess.Send) == MessageQueuePermissionAccess.Send)
                    {
                        sAccess = CResourceStore.GetString("MessageQueuePermission:Send");
                    }
                    else if ((mqpp.PermissionAccess & MessageQueuePermissionAccess.Browse) == MessageQueuePermissionAccess.Browse)
                    {
                        sAccess = CResourceStore.GetString("MessageQueuePermission:Browse");
                    }


                    DataRow newRow;
                    // Figure out what type of row we're adding
                    if (mqpp.Path != null && mqpp.Path.Length > 0)
                    {
                        newRow           = m_dtPath.NewRow();
                        newRow["Path"]   = mqpp.Path;
                        newRow["Access"] = new DataGridComboBoxEntry(sAccess);
                        m_dtPath.Rows.Add(newRow);
                    }
                    else
                    {
                        newRow             = m_dtOther.NewRow();
                        newRow["Machine"]  = mqpp.MachineName;
                        newRow["Category"] = (mqpp.Category != null)?mqpp.Category:"";
                        newRow["Label"]    = (mqpp.Label != null)?mqpp.Label:"";
                        newRow["Access"]   = new DataGridComboBoxEntry(sAccess);
                        m_dtOther.Rows.Add(newRow);
                    }
                }
            }

            // We want at least 1 rows so it looks pretty
            while (m_dtPath.Rows.Count < 1)
            {
                AddEmptyPathRow(m_dtPath);
            }

            // We want at least 1 rows so it looks pretty
            while (m_dtOther.Rows.Count < 1)
            {
                AddEmptyOtherRow(m_dtOther);
            }
        }// PutValuesinPage