Добавить папки в веб-проект программно - PullRequest
0 голосов
/ 26 октября 2018

У меня есть приложение веб-форм ASP.NET, которое использует роли и группы пользователей для управления доступом.Я создал структуру каталогов, в которой есть папка для каждой добавляемой группы.Например, у меня есть группы пользователей «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»?Что если пользователь входит в несколько групп?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...