Как установить маршрутизацию для моего администраторского раздела в ASP.NET MVC?

Вот некоторые ссылки, я раньше помогал понять JAAS:

http://www.owasp.org/index.php/JAAS_Tomcat_Login_Module

http://www.javaworld.com/jw-09-2002/jw-0913-jaas.html

http://jaasbook.wordpress.com/

http://roneiv.wordpress.com/2008/02/18/jaas-authentication-mechanism-is-it-possible-to-force-j_security_check-to-go-to-a-specific-page/

Также взглянул на практическое руководство конфигурации областей кота Apache:

http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html

5
задан p.campbell 9 September 2009 в 18:04
поделиться

3 ответа

You just need to map a new path with the 'admin' section hardcoded at the beginning of the route definition.

For example add this to your routes in RegisterRoutes in the Global.asax.cs file and make sure it appears above the default route (assuming you haven't added other routes):

routes.MapRoute(
    "Default",                                              
    "admin/{controller}/{action}/{id}",                     
    new { controller = "Home", action = "Index", id = "" } 
);

Note: the 'admin' part hardcoded at the start of the route definition.

Note 2: If you have added other routes beyond the default you will need to make sure your routes are ordered correctly.

Here is a link to a good blog post from Scott Guthrie regarding MVC routing: URL Routing

11
ответ дан 18 December 2019 в 07:55
поделиться

Начиная с версии 2 MVC, они добавили концепцию «области», которая позволяет вам делать это правильно :) Вот сообщение ScottGu о предварительном просмотре MVC 2 .

3
ответ дан 18 December 2019 в 07:55
поделиться

Ответ Келси верен, но я хотел добавить кое-что к обсуждению. Другой вариант - вообще не иметь «административных» маршрутов, а вместо этого требовать сеансы, аутентифицированные администратором, для фактического доступа к ограниченным URL-адресам.

Часто это делается в «традиционных» RESTful-приложениях. Ваш контроллер представляет тип ресурса, которым вы управляете, действие - это глагол, а id - это уникальный идентификатор для определенного члена этого ресурса.

Другими словами, вместо того, чтобы иметь:

/content/list (for normal users)
/admin/content/add (for admins)

У вас будет

/content/list (for everyone)
/content/add (for admin, but must be authenticated to work)

Добавление / admin / к URL-адресу на самом деле не дает никаких преимуществ (за исключением, возможно, того, что вы можете написать свою логику защиты с помощью всего одного правила против чего-либо в / admin), но компромисс - это более сложные маршруты и нарушение стандартного RESTful. Нарушение стандартных практик само по себе не плохо, но вы должны учитывать, что они являются стандартными по какой-то причине, и если у вас нет особых преимуществ для их нарушения, вы можете подумать о том, чтобы их придерживаться.

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

В ASP.NET MVC вы можете ограничить доступ к действиям (или даже целым контроллерам) в зависимости от пользователя уровень с помощью ActionFilters. Украшая ваши действия, доступные только для администратора, этими фильтрами, вы можете гарантировать, что только аутентифицированные пользователи с правами администратора действительно могут их использовать.

Прочтите запись в блоге Скотта Гу или сообщение Роба Коннери для получения дополнительной информации.

и если у вас нет особых преимуществ за их нарушение, вы можете рассмотреть возможность их соблюдения.

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

В ASP.NET MVC вы можете ограничить доступ к действиям (или даже целым контроллерам) в зависимости от пользователя уровень с помощью ActionFilters. Украшая ваши действия только для администратора этими фильтрами, вы можете гарантировать, что только аутентифицированные пользователи с правами администратора действительно могут их использовать.

Прочтите запись в блоге Скотта Гу или сообщение Роба Коннери для получения дополнительной информации.

и если у вас нет особых преимуществ за их нарушение, вы можете рассмотреть возможность их соблюдения.

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

В ASP.NET MVC вы можете ограничить доступ к действиям (или даже целым контроллерам) в зависимости от пользователя уровень с помощью ActionFilters. Украшая ваши действия только для администратора этими фильтрами, вы можете гарантировать, что только аутентифицированные пользователи с правами администратора действительно могут их использовать.

Прочтите запись в блоге Скотта Гу или сообщение Роба Коннери для получения дополнительной информации.

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

Прочтите запись в блоге Скотта Гу или сообщение Роба Коннери для получения дополнительной информации.

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

Прочтите запись в блоге Скотта Гу или сообщение Роба Коннери для получения дополнительной информации.

6
ответ дан 18 December 2019 в 07:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: