ASP.NET MVC 3 структуры папок - PullRequest
       4

ASP.NET MVC 3 структуры папок

2 голосов
/ 03 сентября 2011

Я изучаю фреймворк MVC после фона в традиционных веб-формах ASP.NET. Я занимаюсь разработкой типового веб-сайта электронной коммерции, который имеет общедоступный домен, а затем возможность подписаться на услугу, которая обеспечит доступ к защищенной зоне участников. У меня есть пара вопросов, пожалуйста:

  • В ASP.NET частные страницы-члены обычно отделялись от страниц общедоступного домена, помещая их в свою собственную подпапку и помечая эту подпапку как требующую аутентификацию в web.config, например:

    location path="MembersArea"
        system.web
            authorization
                deny users="?"
            authorization
        system.web
    location
    

Люди также обычно помещают свои защищенные страницы в одной из подпапок в MVC? Или вы смешиваете открытые и закрытые страницы в одних и тех же папках, используя теги членства и аутентификации?

  • Мой веб-сайт MVC будет иметь безопасную зону для членов. Но домашняя страница и т. Д. Будет просто стандартным HTML. При создании сайта вы обычно отмечаете ВСЕ страницы как MVC на случай, если в будущем вы захотите улучшить их динамическими данными? Или вы сохраняете простые HTML-файлы в виде простого HTML из-за соображений производительности или чего-то подобного?

спасибо за любой совет с этим

Ответы [ 3 ]

3 голосов
/ 03 сентября 2011

Забудьте про index.html, файлы и еще много чего.В MVC вы работаете с контроллерами и сообщаете ему, какое представление визуализировать.

В MVC вы защищаете не сами представления, а действия контроллера.Посмотрите в атрибут Authorize.Вам не нужно разделять файлы для публичных или личных.

Вы даже можете свернуть свои собственные атрибуты авторизации, чтобы иметь возможность сделать что-то вроде:

[Administrators]
public class HomeController : Controller
{
    public ActionResult Index()
    {
    }
}

Вы можете защититьна уровне контроллера или на уровне отдельных действий.

Все это будет звучать как китайский, если только у вас нет более формального введения в MVC.Я предлагаю новую книгу MVC3 Фила Хаака.

enter image description here

1 голос
/ 03 сентября 2011

Забудьте все, что вы знаете о ASP.NET WebForms. У MVC совершенно другой подход: он не использует папки и файлы в качестве прямого сопоставления с ресурсами, как это делают традиционные веб-формы ASP.NET. В MVC нет «страниц», каждый URL вызывает действие на контроллере, которое может возвращать любой результат (либо как представление, похожее на «страницу», либо любой другой тип результата, такой как загрузка файлов, перенаправления, так далее.). Между действиями контроллера и представлениями нет отображения 1: 1, одно действие может вернуть любое представление или результат.

Способ MVC сделать это через контроллеры, вы можете использовать атрибуты авторизации на контроллерах (для полного класса) или на определенных действиях контроллера (методах). Вы даже можете легко реализовать свой собственный атрибут аутентификации.

1 голос
/ 03 сентября 2011

Нет, все представления должны быть в той же структуре папок, что и открытые и закрытые.Вы хотите проверить атрибут Authorize.Вы можете держать контроллеры / действия в одной и той же области.

Я бы сделал сайт полностью как MVC.

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