以编程方式将文件夹添加到Web项目

时间:2018-10-25 23:40:22

标签: sql asp.net webforms asp.net-membership ascx

我有一个ASP.NET Web窗体应用程序,该应用程序使用用户角色和组来管理访问。我创建了一个目录结构,该目录结构为我添加的每个组都有一个文件夹。例如,我有“ Google”,“ Yahoo”,“ Altavista”用户组,并且它们具有相同名称的对应文件夹。除非其他用户在用户组中,否则他们无权访问这些文件夹。现在,如果我需要创建更多的组,则必须进入硬编码并为新组复制和创建文件。当我使用用户控件并仅添加新文件时,它相对容易,但是我想即时创建新的组和文件夹。我创建了运行良好的代码,但是我应该采用其他方法吗?这是用于动态构建目录的代码(几乎可以解决,只需要修复一些目录的细微差别,这不是问题所在),但是如果在生产环境中使用它并更新文件结构,我会发现一个问题,但不要将文件结构复制到开发中。

Dim path As String = txt1.Text
Dim Ds As String = Server.MapPath("~")
    If Directory.Exists(Ds & "\" & path) Then
    Else
        Try
            Directory.CreateDirectory(Ds & "\" & path)
            Dim files As String() = Directory.GetFiles(Ds & "masterCopy\", "*.*", SearchOption.AllDirectories)

            For Each file1 In files
                Dim Text As String = File.ReadAllText(file1)
                Text = Text.Replace("XXXX", txt1.Text)
                Dim fullpath As String = "~/" & path & "/" & file1
                File.WriteAllText(Server.MapPath(fullpath), Text)
            Next
        Catch ex As Exception
            Dim str As String = ex.Message
        End Try
    End If

那么我应该控制用户对一个目录的访问吗?是否使其看起来像特定于“ Google”或“ Yahoo”?如果用户属于多个组怎么办?

0 个答案:

没有答案