小编bdw*_*eld的帖子

使用C#获取服务器和映射驱动器的ACL列表

我们IT团队的生产变更实施人员的任务是审查我们集团中所有各种对象的安全性,主要是为了确保离开我们的员工或已转移到其他团队的人员不再能够访问我们的服务器份额我们最近完成了SQL部分,我们有一个可重复使用的脚本,可以每年运行一次(或者我们提出的任何频率).它工作得很好,我们在10分钟左右的服务器上审核了20个数据库,只需几分钟.

现在,对于服务器的东西.我有一个使用.NET 2.0在C#中编写的应用程序,它将递归扫描目录列表并将ACL转储到文本文件中.这很好用.在本地机器上.UNC和映射路径不起作用,我收到以下异常消息:该进程不具备此操作所需的"SeSecurityPrivilege"权限.

在这一行:

DirectorySecurity DirSec = di.GetAccessControl(AccessControlSections.All);
Run Code Online (Sandbox Code Playgroud)

其中di是从DirectoryInfo []数组枚举的DirectoryInfo对象.

我们不太可能被授予SeSecurityPrivilege特权.但是我不认为这是必要的.我可以打开文件夹并右键单击属性,然后单击安全选项卡并在GUI中查看它.我也应该能够以编程方式访问它.

有关如何更改此部分代码以获取目标文件夹权限的任何想法?

private void CheckSecurity(DirectoryInfo[] DIArray)
{
    foreach (DirectoryInfo di in DIArray)
    {
        DirectorySecurity DirSec = di.GetAccessControl(AccessControlSections.All);
        string sAccessInfo = string.Empty;

        foreach (FileSystemAccessRule FSAR in DirSec.GetAccessRules(true, true, typeof(System.Security.Principal.NTAccount)))
        {
            sAccessInfo += GetAceInformation(FSAR);
        }

        if (sAccessInfo != string.Empty)
        {
            // Write info to text file
        }
    }
}

private string GetAceInformation(FileSystemAccessRule ace)
{
    StringBuilder info = new StringBuilder();
    string line = string.Format("Account: {0}", ace.IdentityReference.Value);
    info.AppendLine(line);
    line = string.Format("Type: {0}", …
Run Code Online (Sandbox Code Playgroud)

.net c# security permissions security-roles

14
推荐指数
1
解决办法
1万
查看次数

从预编译的ASP.NET网站获取源代码?

长话短说,VSS决定我不允许进行一些代码更改.我错过了一个相当大的功能,我不想重写(在去年夏天给了合作社作为工作).它运作良好,并做客户想要的.但是......我没有机器和它开发的机器已经铺平了!

Do'h!

我们直接从visual studio将网站发布到测试环境中,然后我们将文件复制到生产中.所以我有VS发布的"编译"文件.

我怎样才能将其重新编入代码?我相信我可以弄清楚它在哪个DLL中我会认为像反射器这样的东西将是我最好的选择?是否保留了原始变量名称?

c# asp.net decompiling visual-sourcesafe

3
推荐指数
1
解决办法
4239
查看次数