我正在学习ASP.NET Webforms,我想创建一个简单的聊天应用程序。
我已经创建了一个Default.aspx
表单,这是我的登录页面。它现在只包含一个<asp:Login/>
控件,如果用户通过身份验证,它的目标是重定向到另一个页面。这就是说,当用户存在于我的SQL数据库中时。
一切都很好,除了一件事。我想使用选项&#34;记住我&#34;,但它不能作为例外工作。对于Default.aspx
:
protected void Page_Load(object sender, EventArgs e)
{
if (User.Identity.IsAuthenticated == true)
{
Response.Redirect("Chatroom.aspx");
}
}
不幸的是,这使得条件始终如一。我已经搜索了一段时间,并添加到我的web.config
以下行:
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="Default.aspx" cookieless="UseCookies" timeout="1" slidingExpiration="false"/>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
由于UnobtrusiveValidationError
我还添加了以下内容:
<appSettings>
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
</appSettings>
但是现在,即使等了1分钟,我总是被重定向到Chatroom.aspx
。我在项目属性中注意到匿名身份验证已禁用(这没问题),但启用了Windows身份验证。我认为它应该被关闭,因为我想使用表单身份验证,但在关闭它之后我被拒绝访问Default.aspx
(401.2 - 未经授权)。
我缺少什么?