Je reçois de ce code ci-dessous un double FileSystemAccessRule:GetAccessRules en double, FileSystemAccessRule entrées de
C:\inetpub\wwwroot\AspInfo\Account
BUILTIN\IIS_IUSRS : Allow : ReadAndExecute, Synchronize
BUILTIN\IIS_IUSRS : Allow : -1610612736
NT SERVICE\TrustedInstaller : Allow : FullControl
NT SERVICE\TrustedInstaller : Allow : 268435456
et je ne peux pas travailler ce ou pourquoi il est.
Et les permissions étant affichés ne correspondent pas à ce que je peux voir les propriétés de FileManager de fichier. Par exemple, comment puis-je trouver l'autorisation "List Folder Contents" de cette itération ou similaire. Si quelqu'un connaît un exemple dans les docs .NET, il serait utile.
protected void directoryInfo()
{
var di = new DirectoryInfo(Server.MapPath("/"));
foreach (DirectoryInfo dir in di.GetDirectories())
{
Response.Write(dir.FullName + "<br/>");
DirectorySecurity ds = dir.GetAccessControl();
foreach (FileSystemAccessRule fsar in ds.GetAccessRules(true, true, typeof(System.Security.Principal.NTAccount)))
{
string userName = fsar.IdentityReference.Value;
string userRights = fsar.FileSystemRights.ToString();
string userAccessType = fsar.AccessControlType.ToString();
Response.Write(userName + " : " + userAccessType + " : " + userRights + "<br/>");
}
}
}
L'évaluation '' utilisation de if' FileSystemRights' est pas autorisée. – Thomas
Doit pouvoir simplement vérifier 'if (FileSystemRights.ListDirectory) {...}'. https://msdn.microsoft.com/en-us/library/system.security.accesscontrol.filesystemrights(v=vs.110).aspx Vous ne devriez pas avoir à voir si vous avez 'FileSystemRights' sur un répertoire donné - si vous êtes dans la boucle, vous avez des répertoires. Si vous avez des répertoires, vous avez les propriétés 'FileSystemAccessRule'. Si vous êtes dans la boucle des propriétés 'FileSystemAccessRule', vous aurez des propriétés' FileSystemRights', garanties. – vapcguy
@vapcguy Comment cela exclut-il les éléments FileSystemAuditRule? – Chalky