URL переписать на две страницы входа

У меня возникла проблема при попытке переписать URL-адрес моей страницы входа. Это как. Я получил две страницы входа, FirstLoginPage.aspx и SecondLoginPage.aspx, я хочу переписать страницу в /FirstAuthen и / SecondAuthen.

Когда пользователь хочет перейти на вторую страницу входа, он должен сначала пройти первый вход. У меня есть следующий код в моем web.config с документом по умолчанию, установленным в ~/FirstAuthen

 <defaultDocument>
  <files>
    <add value="~/FirstAuthen"/>
  </files>
 </defaultDocument>

 <authentication mode="Forms">
   <forms defaultUrl="~/Home" loginUrl="~/SecondLoginPage.aspx" slidingExpiration="true" timeout="1440"/>
 </authentication>
 <authorization>
   <deny users="?"/>
 </authorization>

 <location path="FirstLoginPage.aspx">
   <system.web>
     <authorization>
       <allow users="?"/>
     </authorization>
   </system.web>
 </location>  

 <rewrite>
  <rules>
    <rule name="remove firstlogin" patternSyntax="Wildcard">
      <match url="FirstAuthen" />
      <action type="Rewrite" url="FirstLoginPage.aspx"/>
    </rule>
    <rule name="remove secondlogin" patternSyntax="Wildcard">
      <match url="SecondAuthen" />
      <action type="Rewrite" url="SecondLoginPage.aspx"/>
    </rule>
  </rules>
 </rewrite>

и следующий код в моем Global.asax

 Sub RegisterRoutes(ByVal routes As RouteCollection)
    'FirstLoginPage
    routes.MapPageRoute("First", "FirstAuthen/", "~/FirstLoginPage.aspx")

    'SecondLoginPage
    routes.MapPageRoute("Second", "SecondAuthen/", "~/SecondLoginPage.aspx")

    'other routes
 End Sub

Все остальные перезаписи работают нормально, и firstloginpage будет загружен при запуске проекта. За исключением firstloginpage.aspx, он не переписывается в ~/FirstAuthen, как я хочу. Я пробовал много других способов, но не повезло. Я делаю что-то не так с приведенным выше кодом? Пожалуйста, порекомендуйте. Спасибо

1 ответ

В вашем правиле соответствия перезаписи вам нужно установить / перед URL, поэтому он должен выглядеть так:

 <match url="/FirstAuthen" />

и в вашем правиле действий вы можете перенаправить свою страницу на другую, как показано ниже:

  <rule name="go to second auth" stopProcessing="true">
      <match url="/FirstAuthen"/>
      <action type="Redirect" url="SecondAuthen" redirectType="Permanent"/>
  </rule>

и сделать то же самое для другого

Другие вопросы по тегам