public static void CheckAcceptPermission(string uriToCheck) { WebPermission permissionToCheck = new WebPermission(); permissionToCheck.AddPermission(NetworkAccess.Accept, uriToCheck); permissionToCheck.Demand(); }
public void CreateUnion() { // <Snippet1> // Create a WebPermission.instance. WebPermission myWebPermission1 = new WebPermission(NetworkAccess.Connect, "http://www.contoso.com/default.htm"); myWebPermission1.Demand(); // </Snippet1> // Create another WebPermission instance. WebPermission myWebPermission2 = new WebPermission(NetworkAccess.Connect, "http://www.adventure-works.com"); myWebPermission2.Demand(); // Print the attributes, values and childrens of the XML encoded instances. Console.WriteLine("Attributes and values of the first WebPermission are : "); PrintKeysAndValues(myWebPermission1.ToXml().Attributes, myWebPermission1.ToXml().Children); Console.WriteLine("\nAttributes and values of the second WebPermission are : "); PrintKeysAndValues(myWebPermission2.ToXml().Attributes, myWebPermission2.ToXml().Children); // <Snippet2> // Create another WebPermission that is the Union of previous two WebPermission // instances. WebPermission myWebPermission3 = (WebPermission)myWebPermission1.Union(myWebPermission2); Console.WriteLine("\nAttributes and values of the WebPermission after the Union are : "); // Display the attributes,values and children. Console.WriteLine(myWebPermission3.ToXml().ToString()); // </Snippet2> }
public void CreateCopy() { // <Snippet1> // Create a WebPermission instance. WebPermission myWebPermission1 = new WebPermission(PermissionState.None); // Allow access to the first set of URL's. myWebPermission1.AddPermission(NetworkAccess.Connect, "http://www.microsoft.com/default.htm"); myWebPermission1.AddPermission(NetworkAccess.Connect, "http://www.msn.com"); // Check whether all callers higher in the call stack have been granted the permissionor not. myWebPermission1.Demand(); // </Snippet1> // <Snippet2> // Create another WebPermission instance that is the copy of the above WebPermission instance. WebPermission myWebPermission2 = (WebPermission)myWebPermission1.Copy(); // Check whether all callers higher in the call stack have been granted the permissionor not. myWebPermission2.Demand(); // </Snippet2> Console.WriteLine("The Attributes and Values are :\n"); // Display the Attributes,Values and Children of the XML encoded instance. PrintKeysAndValues(myWebPermission1.ToXml().Attributes, myWebPermission1.ToXml().Children); Console.WriteLine("\nCopied Instance Attributes and Values are :\n"); // Display the Attributes,Values and Children of the XML encoded copied instance. PrintKeysAndValues(myWebPermission2.ToXml().Attributes, myWebPermission2.ToXml().Children); }
public static string[] ReadFile(string url) { WebPermission webPerm = new WebPermission(NetworkAccess.Connect, url); webPerm.Demand(); HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream stream = response.GetResponseStream(); StreamReader sr = new StreamReader(stream); StringCollection strings = new StringCollection(); string line = sr.ReadLine(); while (line != null) { strings.Add(line); line = sr.ReadLine(); } sr.Close(); stream.Close(); response.Close(); string[] lines = new string[strings.Count]; strings.CopyTo(lines, 0); return(lines); }
private void DoSubmit() { try { using (new WaitCursor()) { if (!ValidateData()) { return; } m_statusBar.Text = "Submitting bug..."; WebPermission myWebPermission = new WebPermission(PermissionState.Unrestricted); myWebPermission.Demand(); string desc = m_descTextBox.Text; // if the exception was set, append the stack trace if (m_exception != null) { desc += "\n\n-----------------------------------\n"; desc += "Exception:\n"; desc += m_exception.ToString(); } // append versions of all modules desc += "\n\n-----------------------------------\n"; desc += "Modules:\n"; foreach (ProcessModule module in Process.GetCurrentProcess().Modules) { // Get version info FileVersionInfo fileVersionInfo = module.FileVersionInfo; if (fileVersionInfo.FileVersion == "") { continue; } desc += String.Format("{0} {1}\n", module.ModuleName, fileVersionInfo.FileVersion); } if (m_anonymous) { string dsc = "Reported by: " + m_txtEmail.Text + "\n" + desc; m_bugService.submitBug(m_mappingName, m_titleTextBox.Text, dsc, m_cmbPriority.SelectedIndex); } else { m_bugService.submitBug(m_mappingName, m_userTextBox.Text, m_passwordTextBox.Text, m_titleTextBox.Text, desc, m_cmbPriority.SelectedIndex); } Close(); } } catch (Exception ex) { m_statusBar.Text = "Bug not submitted."; MessageBox.Show("There were errors while submitting this bug\n" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private static void GetPermissions() { if (!m_Initialized) { // test RelectionPermission CodeAccessPermission securityTest; try { securityTest = new ReflectionPermission(PermissionState.Unrestricted); securityTest.Demand(); m_ReflectionPermission = true; } catch { // code access security error m_ReflectionPermission = false; } // test WebPermission try { securityTest = new WebPermission(PermissionState.Unrestricted); securityTest.Demand(); m_WebPermission = true; } catch { // code access security error m_WebPermission = false; } // test WebHosting Permission (Full Trust) try { securityTest = new AspNetHostingPermission(AspNetHostingPermissionLevel.Unrestricted); securityTest.Demand(); m_AspNetHostingPermission = true; } catch { // code access security error m_AspNetHostingPermission = false; } m_Initialized = true; // Test for Unmanaged Code permission try { securityTest = new SecurityPermission(SecurityPermissionFlag.UnmanagedCode); securityTest.Demand(); m_UnManagedCodePermission = true; } catch (Exception) { m_UnManagedCodePermission = false; } } }
static void Main(string[] args) { //创建一个WebPermission实例,连接到本地 WebPermission myWebPermissionnl = new WebPermission(NetworkAccess.Connect, "https://brushes8.com"); myWebPermissionnl.Demand(); //增加两个访问网络连接 myWebPermissionnl.AddPermission(NetworkAccess.Connect, "http://www.baidu.com"); myWebPermissionnl.AddPermission(NetworkAccess.Connect, "http://www.12315.cn"); myWebPermissionnl.Demand(); IEnumerator myEnum1 = myWebPermissionnl.ConnectList; Console.WriteLine("\n\nThe URIs with Accept permission are :\n"); while (myEnum1.MoveNext()) { Console.WriteLine("\tThe URI is : " + myEnum1.Current); } }
private static bool CheckWebPermission() { try { WebPermission unrestricted = new WebPermission(PermissionState.Unrestricted); unrestricted.Demand(); } catch { return(false); } return(true); }
public void DisplayAcceptConnect() { // Create a 'WebPermission' object with permission state set to 'None'. WebPermission myWebPermission1 = new WebPermission(PermissionState.None); // Allow 'Connect' access right to first set of URL's. myWebPermission1.AddPermission(NetworkAccess.Connect, "http://www.contoso.com"); myWebPermission1.AddPermission(NetworkAccess.Connect, "http://www.adventure-works.com"); myWebPermission1.AddPermission(NetworkAccess.Connect, "http://www.alpineskihouse.com"); // Allow 'Accept' access right to second set of URL's. myWebPermission1.AddPermission(NetworkAccess.Accept, "http://www.contoso.com"); myWebPermission1.AddPermission(NetworkAccess.Accept, "http://www.adventure-works.com"); myWebPermission1.AddPermission(NetworkAccess.Accept, "http://www.alpineskihouse.com"); // Check whether all callers higher in the call stack have been granted the permission or not. myWebPermission1.Demand(); Console.WriteLine("The Attributes,Values and Children of the 'WebPermission' object are :\n"); // Display the Attributes,Values and Children of the XML encoded instance. PrintKeysAndValues(myWebPermission1.ToXml().Attributes, myWebPermission1.ToXml().Children); // <Snippet1> // Gets all URIs with Connect permission. IEnumerator myEnum = myWebPermission1.ConnectList; Console.WriteLine("\nThe URIs with Connect permission are :\n"); while (myEnum.MoveNext()) { Console.WriteLine("\tThe URI is : " + myEnum.Current); } // </Snippet1> // <Snippet2> // Get all URI's with Accept permission. IEnumerator myEnum1 = myWebPermission1.AcceptList; Console.WriteLine("\n\nThe URIs with Accept permission are :\n"); while (myEnum1.MoveNext()) { Console.WriteLine("\tThe URI is : " + myEnum1.Current); } // </Snippet2> }
public void CheckSubset() { // <Snippet1> // Create a WebPermission. WebPermission myWebPermission1 = new WebPermission(); // Allow Connect access to the specified URLs. myWebPermission1.AddPermission(NetworkAccess.Connect, new Regex("http://www\\.contoso\\.com/.*", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline)); myWebPermission1.Demand(); // </Snippet1> // Create another WebPermission with the specified URL. WebPermission myWebPermission2 = new WebPermission(NetworkAccess.Connect, "http://www.contoso.com"); // Check whether all callers higher in the call stack have been granted the permission. myWebPermission2.Demand(); // <Snippet2> WebPermission myWebPermission3 = null; // Check which permissions have the Connect access to more number of URLs. if (myWebPermission2.IsSubsetOf(myWebPermission1)) { Console.WriteLine("\n WebPermission2 is the Subset of WebPermission1\n"); myWebPermission3 = myWebPermission1; } else if (myWebPermission1.IsSubsetOf(myWebPermission2)) { Console.WriteLine("\n WebPermission1 is the Subset of WebPermission2"); myWebPermission3 = myWebPermission2; } else { // Create the third permission. myWebPermission3 = (WebPermission)myWebPermission1.Union(myWebPermission2); } // </Snippet2> // Prints the attributes , values and childrens of XML encoded instances. Console.WriteLine("\nAttributes and Values of third WebPermission instance are : "); PrintKeysAndValues(myWebPermission3.ToXml().Attributes, myWebPermission3.ToXml().Children); }
public void CreateIntersect() { // <Snippet1> // Create two WebPermission instances. WebPermission myWebPermission1 = new WebPermission(); WebPermission myWebPermission2 = new WebPermission(); // <Snippet2> // Allow access to the first set of resources. myWebPermission1.AddPermission(NetworkAccess.Connect, "http://www.contoso.com/default.htm"); myWebPermission1.AddPermission(NetworkAccess.Connect, "http://www.adventure-works.com/default.htm"); // Check whether if the callers higher in the call stack have been granted // access permissions. myWebPermission1.Demand(); // </Snippet2> // Allow access right to the second set of resources. myWebPermission2.AddPermission(NetworkAccess.Connect, "http://www.alpineskihouse.com/default.htm"); myWebPermission2.AddPermission(NetworkAccess.Connect, "http://www.baldwinmuseumofscience.com/default.htm"); myWebPermission2.Demand(); // </Snippet1> // Display the attributes , values and childrens of the XML encoded instances. Console.WriteLine("Attributes and values of first 'WebPermission' instance are :"); PrintKeysAndValues(myWebPermission1.ToXml().Attributes, myWebPermission2.ToXml().Children); Console.WriteLine("\nAttributes and values of second 'WebPermission' instance are : "); PrintKeysAndValues(myWebPermission2.ToXml().Attributes, myWebPermission2.ToXml().Children); // <Snippet3> // Create a third WebPermission instance via the logical intersection of the previous // two WebPermission instances. WebPermission myWebPermission3 = (WebPermission)myWebPermission1.Intersect(myWebPermission2); Console.WriteLine("\nAttributes and Values of the WebPermission instance after the Intersect are:\n"); Console.WriteLine(myWebPermission3.ToXml().ToString()); // </Snippet3> }
public void CreateRegexConstructor() { // <Snippet1> // Create an instance of 'Regex' that accepts all URL's containing the host // fragment 'www.contoso.com'. Regex myRegex = new Regex(@"http://www\.contoso\.com/.*"); // Create a WebPermission that gives the permissions to all the hosts containing // the same fragment. WebPermission myWebPermission = new WebPermission(NetworkAccess.Connect, myRegex); // Checks all callers higher in the call stack have been granted the permission. myWebPermission.Demand(); // </Snippet1> Console.WriteLine("Attribute and Values of WebPermission are : \n"); // Display the Attributes,Values and Children of the XML encoded copied instance. PrintKeysAndValues(myWebPermission.ToXml().Attributes, myWebPermission.ToXml().Children); }
public static void MySample() { // <Snippet1> // Create a Regex that accepts all URLs containing the host fragment www.contoso.com. Regex myRegex = new Regex(@"http://www\.contoso\.com/.*"); // Create a WebPermission that gives permissions to all the hosts containing the same host fragment. WebPermission myWebPermission = new WebPermission(NetworkAccess.Connect, myRegex); //Add connect privileges for a www.adventure-works.com. myWebPermission.AddPermission(NetworkAccess.Connect, "http://www.adventure-works.com"); //Add accept privileges for www.alpineskihouse.com. myWebPermission.AddPermission(NetworkAccess.Accept, "http://www.alpineskihouse.com/"); // Check whether all callers higher in the call stack have been granted the permission. myWebPermission.Demand(); // Get all the URIs with Connect permission. IEnumerator myConnectEnum = myWebPermission.ConnectList; Console.WriteLine("\nThe 'URIs' with 'Connect' permission are :\n"); while (myConnectEnum.MoveNext()) { Console.WriteLine("\t" + myConnectEnum.Current); } // Get all the URIs with Accept permission. IEnumerator myAcceptEnum = myWebPermission.AcceptList; Console.WriteLine("\n\nThe 'URIs' with 'Accept' permission is :\n"); while (myAcceptEnum.MoveNext()) { Console.WriteLine("\t" + myAcceptEnum.Current); } // </Snippet1> }
[SuppressMessage("Microsoft.Security", "CA2103:ReviewImperativeSecurity")] // WebPermission based on URI path, but path isn't gonna change during scope of Demand private void LoadSync() { Debug.Assert((uri == null || !uri.IsFile), "we only load streams"); // first make sure that any possible download ended if (!semaphore.WaitOne(LoadTimeout, false)) { if (copyThread != null) { copyThread.Abort(); } CleanupStreamData(); throw new TimeoutException(SR.GetString(SR.SoundAPILoadTimedOut)); } // if we have data, then we are done if (streamData != null) { return; } // setup the http stream if (uri != null && !uri.IsFile && stream == null) { WebPermission webPerm = new WebPermission(NetworkAccess.Connect, uri.AbsolutePath); webPerm.Demand(); WebRequest webRequest = WebRequest.Create(uri); webRequest.Timeout = LoadTimeout; WebResponse webResponse; webResponse = webRequest.GetResponse(); // now get the stream stream = webResponse.GetResponseStream(); } if (stream.CanSeek) { // if we can get data synchronously, then get it LoadStream(true); } else { // the data can't be loaded synchronously // load it async, then wait for it to finish doesLoadAppearSynchronous = true; // to avoid OnFailed call. LoadStream(false); if (!semaphore.WaitOne(LoadTimeout, false)) { if (copyThread != null) { copyThread.Abort(); } CleanupStreamData(); throw new TimeoutException(SR.GetString(SR.SoundAPILoadTimedOut)); } doesLoadAppearSynchronous = false; if (lastLoadException != null) { throw lastLoadException; } } // we don't need the worker copyThread anymore this.copyThread = null; }
private void Window_Loaded(object sender, RoutedEventArgs e) { AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; try { //demand WebPermissions. WebPermission wp = new WebPermission(); DnsPermission dperm = new DnsPermission(PermissionState.Unrestricted); dperm.Demand(); wp.Demand(); //dbase.DbConnection_Progress(); DbConnection getcon = dbase.GetConnection(); } catch (Exception exx) { //log the error. DataLayer.LogClient("Exception:" + exx.Message + " Stack Trace:" + exx.StackTrace); //show a message. dbase.WriteDebugMessage(DataLayer.GetExceptionData(exx)); MessageBox.Show(this, "Error Connecting to the Database:" + exx.Message); Close(); } OperatingMode = OperatingModeConstants.OpMode_PinEntry; //dbase = new DataLayer(DataLayer.ConnectionTypeConstants.Connection_Client); lstLogEntries.ItemsSource = MessageLog; //connect to the DB right NAU! WorkOrderEntry.MaxLength = dbase.Configuration.WorkOrderMaxLength; //make various items collapsed if the config calls for it... lstLogEntries.Visibility = !dbase.Configuration.Client_ShowActivityLog ? System.Windows.Visibility.Collapsed : System.Windows.Visibility.Visible; UserListExpander.Visibility = !dbase.Configuration.Client_ShowUserList ? System.Windows.Visibility.Collapsed : System.Windows.Visibility.Visible; lblLogEntry.Visibility = lstLogEntries.Visibility; if (dbase.Configuration.Client_PasswordPIN) { lblPIN.Visibility = System.Windows.Visibility.Collapsed; lblPINpass.Visibility = System.Windows.Visibility.Visible; } //now, bind lstLogEntries to the MESSAGELOG database... /* ObservableCollection<MessageActivityLogItem> GeneralLog = dbase.GetLogMessages("GENERAL"); * lstLogEntries.ItemsSource=GeneralLog;*/ //lstLogEntries VersionLabel.Content = GetVersionData(); //set the timer that will periodically (every 20 seconds or so) refresh the listbox. //the IDEAL case would be to use some sort of binding but...meh. refreshUserListTimer = new DispatcherTimer(); refreshUserListTimer.Interval = new TimeSpan(0, 0, 0, 30); refreshUserListTimer.Tick += new EventHandler(refreshUserListTimer_Tick); refreshUserListTimer.Start(); refreshUserListTimer_Tick(refreshUserListTimer, null); //now that there is the admin panel, the seeding code is unneeded :D try { //dbase.SeedDB(); } catch (Exception seedexception) { Debug.Print("Exception while seeding..."); } }