URL重写未经过身份验证

时间:2013-12-21 01:40:48

标签: asp.net authentication iis-7 url-rewriting web-config

我正在使用IIS7。当用户登录时,一切都很好。但如果我退出,请转到:

dev.local/EN/Login.aspx

网址重写不是在做它的工作。首先,它重定向到

dev.local/Login.aspx?ReturnUrl=/EN/Login.aspx

为什么呢?如何在重定向之前使URL重写工作?

的web.config:

  <system.web>
    <authentication mode="Forms">
      <forms name=".MyForm" loginUrl="Login.aspx" domain="dev.local" cookieless="UseCookies" protection="All" path="/" timeout="30" />
    </authentication>
  </system.web>

  <system.webServer>
        <rewrite>
            <rules>
              <rule name="LanguageUrlRewrite">
                <match url="^(.+)/(es|en|fr|pt)/(.+)?(.+)" />
                <action type="Rewrite" url="{R:1}/{R:3}?Language={R:2}&amp;{R:4}" />
              </rule>
            </rules>
        </rewrite>
  </system.webServer>

1 个答案:

答案 0 :(得分:0)

您未启用匿名访问权限。身份验证将胜过重写。您设置它的方式只有在您登录时才能访问页面。否则,您可以在不登录的情况下访问的唯一页面是登录页面。