Visual Basic.NET - Permisos de un fichero/directorio

 
Vista:

Permisos de un fichero/directorio

Publicado por Oscar Caride (24 intervenciones) el 16/03/2006 07:57:31
Alguien sabria decirme u orientarme como podria hacer para dar permisos de Lectura, escritura o Control Total, tanto para un fichero como para un directorio. Mi dilema es que quiero dar permisos para toda persona que entre en ese ordenador tanto si se trata de un Administrador como de un usuario avanzado,...

RaizError="c:\ErrorLog"
Directory.CreateDirectory(RaizError)
fsW = New FileStream(RaizError + "\Error.log", FileMode.Append, FileAccess.Write)

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Permisos de un fichero/directorio

Publicado por Harold (411 intervenciones) el 17/03/2006 17:22:09
Este codigo de ejemplo ....
'hace que bloquees un archivo o directorio para determinado usuario, del amisma manera restableces los permisos para el archivo o directorio.....
Crea una carpeta llamada C:\Security y en ella un archivo llamado filex.txt
anade algo de texto y prueba el codigo, debes tener 2 botones boton1 bloquear y boton 2 desbloquear, bloqueas y vas al explorador y tratrade abrire larchivo creado, luego desbloqueas y verficias en el explorador de windows si funciono (esta OK) ........espero te ayude................
olvidaba, my.user.name debes remplazar por el usuario que quiere bloquear. Ejm: "DELL\Invitado" dell es el dominioy invitado es el usuario.. va en comillas.

Imports System.IO
Imports System.Security
Imports System.Security.Permissions
Imports System
Imports System.Security.AccessControl

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim fileName As String = "C:\Security\filex.txt"
AddFileSecurity(fileName, My.User.Name, _
FileSystemRights.Delete, AccessControlType.Deny)
MessageBox.Show("Control de acceso creado para: " & fileName)
Catch ex As Exception
MessageBox.Show(ex.Source)
End Try

End Sub

Sub AddFileSecurity(ByVal fileName As String, ByVal account As String, _
ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)
Dim fSecurity As FileSecurity = File.GetAccessControl(fileName)
Dim accessRule As FileSystemAccessRule = New FileSystemAccessRule(account, rights, controlType)
fSecurity.AddAccessRule(accessRule)
' Set the new access settings.
File.SetAccessControl(fileName, fSecurity)

End Sub

Sub RemoveFileSecurity(ByVal fileName As String, ByVal account As String, _
ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)
Dim fSecurity As FileSecurity = File.GetAccessControl(fileName)
Dim accessRule As FileSystemAccessRule = New FileSystemAccessRule(account, rights, controlType)
fSecurity.ResetAccessRule(accessRule)
' Set the new access settings
File.SetAccessControl(fileName, fSecurity)

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Try
Dim fileName As String = "C:\Security\filex.txt"
RemoveFileSecurity(fileName, My.User.Name, _
FileSystemRights.ReadData, AccessControlType.Allow)
MessageBox.Show("Control de acceso eliminado para: " & fileName)
Catch ex As Exception
MessageBox.Show(ex.Source)
End Try
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar