Я работаю над приложением веб-форм ASP.NET, использующим проверку подлинности с помощью форм.Проблема в том, что он игнорирует мой маршрут и перенаправляет на страницу login.aspx.
У меня есть следующие настройки маршрута:
routes.MapPageRoute("/locale", "{locale}", "~/shorturl/transfer.aspx",
false,
new RouteValueDictionary { { "locale", "[a-z]{2}" } });
Если я использую следующий URL: http://server/minneapolis идет на страницу входа.Если я добавлю следующее в Web.Config, то он «работает» и перейдет на страницу Transfer.aspx.
<location path="minneapolis">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
Я не хочу добавлять все локали в сеть.config, кажется, побеждает цель.
Я также могу изменить маршрут на (обратите внимание, что я добавил "/ loc /"):
routes.MapPageRoute("/locale", "/loc/{locale}", "~/shorturl/transfer.aspx",
false,
new RouteValueDictionary { { "locale", "[a-z]{2}" } });
После этого я могу изменить Интернет.Конфигурируйте путь к локации loc (location path = "loc"), и он работает, но я бы предпочел, чтобы он был в корне.Есть ли способ сделать это?
Это .NET v4, и я должен поддерживать IIS 7 и IIS 7.5