Я работаю над приложением ASP.NET для веб-форм, использующим проверку подлинности по формам. Проблема в том, что он игнорирует мой маршрут и перенаправляет на страницу login.aspx.Маршрутизация в веб-формах ASP.NET с проверкой подлинности форм
У меня есть следующие настройки маршрута:
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>
Я не хочу, чтобы добавить все локалей в web.config, кажется, поражение цели.
можно также изменить маршрут к (заметьте, я добавил "/ LOC /"):
routes.MapPageRoute("/locale", "/loc/{locale}", "~/shorturl/transfer.aspx",
false,
new RouteValueDictionary { { "locale", "[a-z]{2}" } });
После того, что я могу изменить путь Web.Config расположение к LOC (местоположение путь = "LOC") и это работает, но я бы предпочел иметь его в корне. Есть какой-либо способ сделать это?
Это .NET v4, и я должен поддерживать IIS 7 и IIS 7.5
Является ли ваш трафик http: // server/minneapolis защищенным ... Я имею в виду, должен ли пользователь проходить аутентификацию, чтобы добраться до http: // server/minneapolis ...? если возможно, вы можете опубликовать код своей страницы? – NiK
Я не хочу, чтобы это было безопасно, но в зависимости от того, как оно настроено, оно или нет. На какой странице вы хотите увидеть код? – Dean