2009-12-14 123 views
1

我有一个Web应用程序,我使用登录控制和ASP.net会员登录过程。 我的应用程序工作上周推迟到上周我上传新版本,在这个版本中,我没有改变登录UC,只是主页面(用户登录后的默认页面)发生了变化。Asp.net登录控制

但有些用户报告我他们不能登录并重定向到登录页面。 一些注意事项:1 这个问题occure只是在报告这个问题可以登录到旧版本

我添加了一个日志程序,看看用户重定向监守的这段代码

if (!this.User.Identity.IsAuthenticated) 
{ 
    Response.Redirect("~/Secure/Signin.aspx"); 
} 
IE浏览器 2-用户

我检查并看到this.User.Identity.Name为空或为空。

什么设置可能改变?

感谢

+0

你在用哪种方法调用该代码?我认为这是他们试图登录后? – 2009-12-14 10:42:49

+0

是的。在用户通过登录页面后的主页面中。 – Ashian 2009-12-14 10:52:04

+0

你有基于角色的身份验证吗?可能会更好的检查web.config设置。 – Saar 2009-12-14 11:02:07

回答

0

疑问,这将解决这个问题,它是一种tangental的。但是,而不是手动编码的重定向url它是可以使用

FormsAuthentication.RedirectToLoginPage() 

它的好处是照顾returnUrl和东西。它需要在web.config中设置登录URL。

+0

谢谢,但不要更改任何 – Ashian 2009-12-15 06:44:35

1

我见过类似的事情发生时,有一个格式不正确的FORM标记呈现在我的ASP.Net服务器FORM标记内。 '畸形'我的意思是它缺少必需的METHOD属性。

这是我的理解,HTML规范不支持嵌套的FORM标签,所以不同的浏览器处理它们的方式不同。就我而言,我看到了一个与您描述的类似的问题,在Firefox中没有问题,并且在IE中遇到了主要问题。

检查以确保页面上没有嵌套FORM标签。同时检查所有FORM标签以确保它们具有所有必需的属性。

+0

感谢您的回复,我必须检查,登录页面或目标页面? – Ashian 2009-12-18 09:41:26

+0

我认为登录页面是问题出现的地方,因为那是表单提交的地方。 首先检查页面的呈现输出。在IE中打开页面,查看源代码并查找FORM标签。如果有多个FORM标签,请确保它们是单独的表格,并且一个FORM不在另一个FORM内。 – 2009-12-28 17:46:58