2011-03-30 238 views
0

有一个使用窗体身份验证门户 LoginUrl =的Login.aspx DefaultUrl = Default.aspx的窗体身份验证ASP.Net失败

用户凭据以dB为单位。所以在登录过程中,我们得到了所有的用户凭据 - 所以我们达到数据库,用户身份验证(Fidler显示http 302为default.aspx),重定向到deault.aspx并返回登录页面,因为我们没有通过身份验证,但我们做到了!

有4台机器上的项目 - 3个工程确定 - 我的 - 不!比较所有的数据 - 我也有同样的web配置,IIS设置等

可能是什么?

感谢

回答

0

所以,我解决了问题...的原因 - 我的注意力不集中......

所以,我用小提琴手再分析一下我的请求/响应......所以, 1)去默认 2 )重定向到登录并输入登录密码 3)数据库中找到的用户 - FormAuthentication票创建 4)重定向到默认 5)用户成为未通过认证,并搬回到登录页面....

所以提琴手显示,在第3步创建cookie并调试显示用户认证。但没有传递给Dfeault页面的cookie。 我发现来自登录页面的cookies具有“安全”标记。这意味着我在webconfig requireSSL = true属性...但requireSSL具有价值上默认为false ......所以,东西覆盖它...我发现多了一个配置文件与requireSSL =真正顶级的文件夹...当我删除顶级配置文件 - 一切开始工作正常...

一定标准的情况下错过成才......但这样有趣的效果我看到的第一次 - 重定向期间做认证和突破为默认页面 - 可能是它有助于有人将他/她的时间进一步...

但无论如何 - 谢谢人们回答我的问题:)

0

如果您有需要确保在农家共享相同的machineKey所有服务器,因为如果你已经自动生成和不同机键认证凭证可能无法正确解密Web场。

0

你设置在web.config文件中forms element域?如果是这样,请求URL必须在域或表单身份验证不会工作。本地主机也不起作用。

如果你在开发系统上测试你可能想要一个完全合格的域名添加到hosts文件([系统驱动器]:\ WINDOWS \ SYSTEM32 \ DRIVERS \ ETC \主机)。