在VS 2013中,我使用个人用户帐户创建了一个web表单,并使用ASP.NET标识,我的登录有效,我更改为
<authentication mode="Forms" >
<forms LoginUrl="/Account/Login" defaultUrl="default.aspx" protection="All"></forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
(因为如果我使用
<loginUrl="/Account/Login" >
我的默认页面将在第一个页面上,我的登录页面不是我在ie中的第一个页面。)
当我在IIS中托管我的项目时,问题是登录是第一个页面,它一开始可以工作,在我注销并登录后,它可以正常工作,但当我关闭ie并再次打开链接时,登录页面不会指向默认页面。用户名和密码有效,因为当我输入错误的用户名和密码时,我会收到"重试"消息。当我重新启动iis时,登录页面可以工作,在我输入用户名和密码并按login后,通过关闭页面显示默认页面,登录页面不会指向默认页面。
您的web.config文件显示,您已通过向其中添加deny-users="?"来撤销匿名用户对页面的访问权限。这意味着,每个尚未通过身份验证的用户都无法访问该域中的页面,如果他们请求访问域中的任何页面,则必须将他/她重定向到登录页面。我建议您将受保护的页面放在不同的文件夹中,并向该文件夹添加单独的web.config文件,并配置用户的可访问性。还可以将您的公共页面放在不同的部分,并允许匿名访问它们