У меня есть веб-сайт - www.mydomain.com
У меня есть аутентифицированный контроллер - AdministratorController
Я хочу убедиться, что если кто-то перейдет на сайт www.mydomain.com/administrator, он не получит ошибку «Несанкционированный» и просто получит HTTP 404.
В настоящее время я добавил следующий маршрут, чтобы изменить в AdministratorController другой URL-адрес -
routes.MapRoute(
"AdministratorReRoute",
"hidden/{action}",
new { controller = "Administrator", action = "Index" });
Это здорово, так как при использовании MVC Url.Action я могу сохранить существующее имя контроллера, но оно будет перенаправлено на новый маршрут. Например, следующее действие URL для www.mydomain.com/administrator -
<a href="@Url.Action("Index", "Administrator", null)">ADMIN</a>
... Перенаправит на www.mydomain.com/hidden
Однако, если я просто зайду на www.mydomain.com/administrator, я все равно доберусь до контроллера ...
Как мне предотвратить это? В конечном итоге я хочу следующее -
- Сохраняет имя основного контроллера в коде, включая все
ссылки на соответствующие действия этого контроллера во всем
различные меню.
- Убедитесь, что если кто-то попытается найти
контроллер, что им дают HTTP 404, несмотря на это на самом деле
быть 401 или 403.