我有一个基于简单身份验证模型的网站。它在本地和本地 IIS 上运行良好,但在输入正确的凭据后它没有重定向到默认页面,所有这些都在测试服务器中。
代码如下。
网页配置
<compilation targetFramework="4.0" />
<httpRuntime maxRequestLength="50000" />
<customErrors mode="On" defaultRedirect="exc/exc.aspx?e=1">
<error statusCode="404" redirect="exc/404.aspx?e=404"/>
</customErrors>
<authentication mode="Forms">
<forms loginUrl="admin/login.aspx" defaultUrl="admin/main.aspx" />
</authentication>
<authorization>
<allow users="*" />
</authorization>
</system.web>
<location path="admin">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
<location path="admin/css/cms.css">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
<location path="admin/css/styles.css">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
<location path="admin/images">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
<location path="exc/exc.aspx">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
登录.aspx
表单操作属性为空且 AutoEventWireup 为真。
登录.aspx.cs
protected void btnAuth_Click1(object sender, EventArgs e)
{
//Some code not shown...
//User Validation
ValidateUserResponse response = new ValidateUserResponse();
response = service.ValidateUser(request);
if (response.State == true)
FormsAuthentication.RedirectFromLoginPage(request.Alias, False);
}
登出
protected void Page_Load(object sender, EventArgs e)
{
FormsAuthentication.SignOut();
Response.Redirect(FormsAuthentication.LoginUrl);
}
在测试服务器上,URL 如下所示:
http://192.168.1.58/TestSite/admin/login.aspx
在 VS2010 上,一旦发布,在我的本地 IIS 上也能正常工作,但不明白为什么在 TestServer 上发布后登录后不重定向到默认页面。显示该网站需要登录并出现 403 禁止错误。
在本地,我已经使用 URL 形式和作品对其进行了测试(虚拟文件夹名称不同):
http://192.168.1.58/TestSite1/admin/login.aspx
http://localhost/TestSite1/admin/login.aspx
我将不胜感激有关此事的任何建议,以使其发挥作用。
谢谢你。
- - - - - 更新 - - - - - -
我这样解决了这个问题:
- 右键单击包含 WebApp 的虚拟目录
- 转到目录安全选项卡
- 点击修改
- 未选中的集成 Windows 身份验证
- 还必须检查匿名访问
这使得 Web.Config 上的 WebForms 身份验证设置开始对 WebApp 产生影响。
谢谢你。