ASP.NET Forms身份验证始终重定向回“登录”页面

问题描述 投票:3回答:2

使用简单的表单身份验证,我有一个非常简单的网站的问题。我有一个单页Default.aspx和一个Login.aspx。

Default.aspx受<deny users="?" />保护

Login.aspx调用

FormsAuthentication.RedirectFromLoginPage( tbUserName.Text, chPersist.Checked );

我用Fiddler检查重定向是否有效。确实如此。但默认页面总是重定向回登录页面(HTTP / 1.1 302 Found)。 cookie按预期创建,Fiddler告诉我它就在那里。但它只是不会加载默认页面。

我尝试了这么多组合,但是唯一能使“默认页面”成功加载的东西就是当我关闭deny =“?”时IIS / web.config中的规则。但是所有用户都可以访问该页面,这不是我想要的。

服务器和我的机器上的Web.config:

    <authentication mode="Forms">
        <forms loginUrl="Login.aspx" name=".ASPXFORMSAUTH" defaultUrl="Default.aspx" cookieless="UseCookies" />
    </authentication>
    <authorization>
        <deny users="?" />
    </authorization>      

具有讽刺意味的是,当我在Visual Studio中调试网站时,所有这一切都很有效,但在部署时它不起作用。 web.config随站点一起部署。

我不知道为什么这仍然不起作用。任何人?

c# asp.net iis-6 forms-authentication .net-4.5
2个回答
0
投票

尝试回收应用程序池..然后重新启动IIS服务器。


-1
投票

您可以检查,IIS已激活该站点的表单身份验证。如果这被取消,则在尝试通过表单进行身份验证时可能会导致奇怪的行为。

© www.soinside.com 2019 - 2024. All rights reserved.