То, что я ищу в MVC-фреймворке, это чтобы оно не мешало мне! Итак, когда вы говорите об условном отображении элементов пользовательского интерфейса на основе уровня безопасности пользователя, я думаю о том, как легко мне было решить эту проблему в ASP.NET MVC. Я только что создал базовый контроллер, от которого наследуются все остальные мои контроллеры, и у него есть метод, который запускается при первом поступлении веб-запроса. В этом методе я проверяю куки-файл, определяю, кто является пользователем и какие у него роли, затем Я заполняю эту информацию в контексте запроса, называя ее токеном. Теперь где-нибудь еще в приложении, где я хочу увидеть, играет ли пользователь определенную роль, я просто беру токен и спрашиваю, есть ли у пользователя эта конкретная роль. Легко, как пирог.
ASP.NET MVC имеет все эти причудливые встроенные механизмы безопасности, такие как атрибуты Authorize и специальные фильтры, но я думаю, что основные функции веб-сайта очень просты, и я не хочу гоняться за последним внедрением этих функций , Просто дайте мне язык, на котором я могу эффективно программировать, и простую структуру со всем, что мне нужно, просто простые вещи, такие как управление запросами, управление ответами, кэширование и куки, и все будет хорошо. Этим языком может быть PHP для вас, затем выберите Symfony или что-то еще, или, если это Java, то, что, возможно, Spring сделает, или Ruby on Rails или Django. Я думаю, что большинство из этих фреймворков имеют функциональность, которая вам понадобится, а затем и некоторые, но я хочу знать, будет ли фреймворк оставаться в стороне, когда я этого захочу.