c# . net登录不重定向

本文关键字:重定向 登录 net | 更新日期: 2023-09-27 18:13:14

我试图在IIS 7中设置表单身份验证。当用户试图点击网站上的任何url时,他们会被重定向到登录页面,但在他们登录后,他们不会离开页面。如果我启用匿名登录,那么登录页面工作正常,页面被重定向到登陆页面。
下面是web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appSettings>
        <add key="LandingPage" value="/home/default.htm" />
    </appSettings>
    <system.web>
        <compilation debug="false" />
        <authentication mode="Forms">
            <forms loginUrl="/login/login.aspx" timeout="60" />
        </authentication>
        <authorization>
            <deny users="?" />
        </authorization>
    </system.web>
    <system.webServer>
        <httpErrors errorMode="DetailedLocalOnly">
            <remove statusCode="401" subStatusCode="-1" />
            <error statusCode="401" prefixLanguageFilePath="" path="/login/login.aspx" responseMode="ExecuteURL" />
        </httpErrors>
        <defaultDocument enabled="false">
            <files>
                <remove value="iisstart.htm" />
                <remove value="index.htm" />
                <remove value="Default.htm" />
                <remove value="Default.asp" />
                <remove value="default.aspx" />
            </files>
        </defaultDocument>
        <directoryBrowse enabled="false" />
        <modules>
            <remove name="FormsAuthentication" />
            <remove name="DefaultAuthentication" />
            <add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" preCondition="" />
            <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="" />
        </modules>
    </system.webServer>
</configuration>

我已经按照http://technet.microsoft.com/en-us/library/cc753252(v=ws.10).aspx和http://www.iis.net/learn/application-frameworks/building-and-running-aspnet-applications/using-aspnet-forms-authentication的说明做了,但我一定错过了什么。

谢谢。

编辑:添加了建议的元素,但同样的事情发生了。Fiddler显示了这个:

1   302 HTTP    localhost   /   148         iexplore:14040          
2   200 HTTP    localhost   /login/login.aspx?ReturnUrl=%2f 4,896   private     text/html; charset=utf-8    iexplore:14040          
3   304 HTTP    localhost   /images/newheader.jpg   0           iexplore:14040          
4   302 HTTP    localhost   /login/login.aspx?ReturnUrl=%2f 142 private, no-cache="Set-Cookie"      text/html; charset=utf-8    iexplore:14040          
5   302 HTTP    localhost   /home/default.htm   170         iexplore:14040          
6   200 HTTP    localhost   /login/login.aspx?ReturnUrl=%2fhome%2fdefault.htm   4,918   private     text/html; charset=utf-8    iexplore:14040          
7   304 HTTP    localhost   /images/newheader.jpg   0           iexplore:14040

c# . net登录不重定向

替换此

<authorization>
   <deny users="?" />
</authorization>

<authorization>
    <deny users ="?" />
    <allow users = "*" />
</authorization>

在第一个配置中,您阻塞了所有用户,并且忘记允许已验证的用户访问。