Как маршрутизировать функциональность в веб-приложении MVC

#asp.net-mvc #url-routing

#asp.net-mvc #url-маршрутизация

Вопрос:

При моей первой попытке создания веб-приложения MVC у меня возник фундаментальный вопрос: предположим, у меня есть интернет-магазин, в котором есть «статьи». Администратору сайта придется просматривать, добавлять, редактировать и, возможно, удалять эти статьи, поэтому, я думаю, я мог бы создать маршруты / URL-адреса, подобные этому:

/статьи/просмотр/
/статьи/добавить
/статьи/редактировать/3

Но просмотр статей предназначен не только для администратора сайта, но и для посетителей. Наиболее очевидным URL также будет /articles /view / . Итак, каков наилучший практический способ различать URL-адреса для администратора и для посетителей? (и есть ли наилучший практический способ?) Должен ли я это делать:

/ обслуживание /статьи/ просмотр — для администратора
/статьи / просмотр — для посетителей

Или лучше предоставить им один и тот же URL-адрес и предоставить им другое представление, основанное на том, вошли они в систему или нет?? Есть ли какие-либо конкретные преимущества в использовании одного над другим, или это просто соглашение?

Спасибо,

Эрик

Ответ №1:

Это отчасти зависит от того, как структурирован ваш сайт.

Если у вас есть строгое различие между CMS (для обслуживания сайта) и общедоступной страницей, то ваши маршруты, скорее всего, будут иметь совершенно разные схемы маршрутизации для каждой части. Они могут даже отображать два отдельных приложения.

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

Комментарии:

1. А, понятно, поэтому, когда вы хотите разделить функциональность, вы разделяете URL-адреса. Спасибо за ответ!