Маршрутизация в ASP.NET Web Forms с проверкой подлинности с помощью форм - PullRequest
3 голосов
/ 03 апреля 2012

Я работаю над приложением веб-форм 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

1 Ответ

0 голосов
/ 04 апреля 2012

Я не думаю, что есть способ сделать это.Авторизация основана на URL-адресе, и модуль авторизации, похоже, проверяет исходный URL-адрес, а не целевой URL-адрес, когда определяет, как авторизовать запрос.

Как и 6 месяцев, просто не удалось точно так же, какВы сделали в одном из моих проектов.Я закончил тем, что вы предлагаете решение - мои перенаправленные запросы были помещены в «подпапку», и я создал локальный web.config с authorization allow users=*.

Если есть способ обойти это, я также хотел быуслышать, как это должно быть сделано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...