2008-12-15 3 views
0

Я новичок в ASP.NET MVC, и все учебные пособия, образцы и т. Д., Я, кажется, очень просты.Маршруты ASP.NET MVC для имитации трафика объекта?

Можно ли (и если да, хороший дизайн), чтобы иметь маршруты, как так: .../Организация/10/User/5/Edit .../Организации/10/User/Список

Иными словами; могут ли URL-адреса зеркалировать вашу модель домена?

ответ

1

Возможно, да, с маршрутным что-то вроде:

"~/Organization/{orgId}/{Controller}/{id}/{action}" 

ли это хороший дизайн или нет, я не мог сказать наверняка, только что кажется довольно сложным для меня.

Если у вас несколько таблиц пользователей, по одному для каждой компании, это может иметь смысл.

1

Если нет абсолютной необходимости, сохраняйте маршруты развязанные от отношений объектной модели. В противном случае вам нужно будет переписать маршруты при каждом изменении модели.

0

«Если у вас несколько таблиц пользователей, по одному для каждой компании, это может иметь смысл». Почему только тогда?

"~/Организация/10/Пользовательский/5/Edit"

... дает мне контекст организации в любое время.

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

Я не говорю, что это лучшее решение, но если не реализовать эту сквозную проблему (аспект) в качестве фильтра действий, зная орг id (с помощью параметров действия), как бы вы решаете проблему авторизации элегантно ?

Как я изначально заявил, я новичок в мире MVC и очень взволнован ответами.

+0

Это совсем другой вопрос, а также очень хороший. Почему бы вам не спросить об этом отдельно? –