I would highly recommend not putting it in web.config. In fact, Conery, Hanselman, Haack, and Guthrie - although not very (p223 from Professional ASP.NET MVC 1.0)
Routes are subject to change, especially in MVC. In the WebForm model, routes are physically represented in the file system, so you did not have to worry about that. In MVC, routes are "dynamic" due to the lack of a better term.
As a result, you can display several routes for one controller, which will lead to pain in maintenance in web.config. Even worse, you may accidentally call the controller manager or forget to update web.config after adding / changing routes and leave yourself open.
If, however, you protect your controller instead of the actual route, then you do not need to worry about keeping web.config in sync with the controllers and changing routes.
Only my 2 cents.
source share