Permessi Utente su una cartella

di il
1 risposte

Permessi Utente su una cartella

Buongiorno a tutti,
io ho un programmino che va a verificare i permessi di alcuni utenti e in base a questi permessi l'utente potrà modificare dei file .ini.
Il problema è che all'inizio l'utente doveva a monte avere i permessi di scrittura in quel disco, ora per esigenze del cliente non si vogliono dare i permessi a tutti gli utenti sulla cartella, ma da codice VB.net.

Quindi il mio problema ora è dare i permessi di scrittura a quel file per l'utente X senza chiedere ai sistemisti di aggiungere l'utente con i permessi di scrittura.
Ho provato a scrivere il seguente codice:

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


Partial Public Class _Default
    Inherits System.Web.UI.Page


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim user_logname As String




        user_logname = Trim(Request.ServerVariables("LOGON_USER"))
        user_logname = Right(user_logname, Len(user_logname) - InStr(1, user_logname, "\", vbTextCompare))
        AddDirittiBase("K:\APMDBRoot\", user_logname)

    End Sub



    Private Sub AddDirittiBase(ByVal Path As String, ByVal Account As String)

        Try
            Dim dInfo As New DirectoryInfo(Path)
            Dim dSecurity As DirectorySecurity = dInfo.GetAccessControl

            Dim Rule1 As New FileSystemAccessRule(New System.Security.Principal.NTAccount(Account), _
            FileSystemRights.Traverse _
            + FileSystemRights.Read, _
            AccessControlType.Allow, _
            PropagationFlags.NoPropagateInherit, _
            AccessControlType.Allow)
            Dim Rule2 As New FileSystemAuditRule(New System.Security.Principal.NTAccount(Account), _
            FileSystemRights.Traverse _
            + FileSystemRights.Read, _
            AuditFlags.Success, _
            PropagationFlags.NoPropagateInherit, _
            AuditFlags.Success)

            Dim Riuscita1 As Boolean
            Dim Riuscita2 As Boolean

            dSecurity.ModifyAccessRule(AccessControlModification.Add, Rule1, Riuscita1)
            dSecurity.ModifyAuditRule(AccessControlModification.Add, Rule2, Riuscita2)

            dInfo.SetAccessControl(dSecurity)

        Catch ex As Exception
        End Try

    End Sub

End Class
ma se provo a lanciarlo e successivamente creare una cartella sotto il percorso indicato non me lo fa fare.

1 Risposte

  • Re: Permessi Utente su una cartella

    Ovviamente non è possibile, altrimenti dove starebbe la sicurezza se un programma potesse modificare i permessi di un utente 'programmaticamente'?
    E' lavoro da sistemisti.
Devi accedere o registrarti per scrivere nel forum
1 risposte