VB.Net/Development/Security

Материал из VB Эксперт
Перейти к: навигация, поиск

Check File IO Permission

<source lang="vbnet"> Imports System.Security.Principal Imports System.Security.Permissions Imports System.IO

public class MainClass

  Shared Sub Main()
       Dim oFp As FileIOPermission = New _
       FileIOPermission(FileIOPermissionAccess.Write, "d:\test.txt")
       oFp.Assert()
       Try
           Dim objWriter As New IO.StreamWriter(File.Open("d:\test.txt", IO.FileMode.Open))
           objWriter.WriteLine("Hi there!")
           objWriter.Flush()
           objWriter.Close()
           objWriter = Nothing
       Catch objA As System.Exception
           Console.WriteLine(objA.Message)
       End Try
  End Sub

End Class


      </source>


Environment Permissions Demo

<source lang="vbnet"> Imports System.Security.Principal Imports System.Security.Permissions Imports System.IO

public class MainClass

  Shared Sub Main()
       Dim oEp As EnvironmentPermission = New EnvironmentPermission(EnvironmentPermissionAccess.Read, "Temp")
       Dim sEv As String
       oEp.Assert()
       Try
           sEv = Environment.GetEnvironmentVariable("Temp")
           Console.WriteLine("Assert was a success")
       Catch objA As System.Exception
           Console.WriteLine("Assert failed")
       End Try
       System.Security.CodeAccessPermission.RevertAssert()
       oEp.Deny()
       Try
           sEv = Environment.GetEnvironmentVariable("Temp")
           Console.WriteLine("Deny was a success")
       Catch objA As System.Exception
           Console.WriteLine("Deny failed")
       End Try
       Console.WriteLine(oEp.ToString)
  End Sub

End Class


      </source>


Registry Permissions Demo

<source lang="vbnet"> Imports System.Security.Principal Imports System.Security.Permissions Imports System.IO Imports System.Diagnostics public class MainClass

  Shared Sub Main()
       Dim oRp As New RegistryPermission(Security.Permissions.PermissionState.Unrestricted)
       oRp.Deny()
       Dim objLog As New EventLog
       Dim objLogEntryType As EventLogEntryType
       Try
           Throw (New EntryPointNotFoundException)
       Catch objA As System.EntryPointNotFoundException
           Try
               If Not System.Diagnostics.EventLog.SourceExists("Example") Then
                   System.Diagnostics.EventLog.CreateEventSource("Example", "System")
               End If
               objLog.Source = "Example"
               objLog.Log = "System"
               objLogEntryType = EventLogEntryType.Information
               objLog.WriteEntry("Error: " & objA.Message, objLogEntryType)
           Catch objB As System.Exception
               Console.WriteLine(objB.Message)
           End Try
       End Try
  End Sub

End Class


      </source>