在使用ASP.Net基于表单的身份验证时,由于在web.config中设置不允许匿名访问,此时登录页面的验证码可能不会显示。针对这种情况,可以在web.config中单独设置生成验证码的页面,允许其被匿名访问。同样,登录页面的图片也可以进行类似的设置。
<system.web>
<authentication mode="Forms">
<forms name="MainForm" loginUrl="Frame/Login.aspx" protection="All" timeout="60"/>
</authentication>
<authorization>
<deny users="?"/><!--一定不要写<allow users="*"/>否则匿名访问时不会跳转到登录页面--!>
</authorization>
</system.web>
<!-- 验证码 -->
<location path ="AuthenticationCode.aspx">
<system.web >
<authorization >
<allow users ="*"/>
</authorization>
</system.web>
</location>