问题点:
用host名地址访问登陆画面后,输入用户名和密码后,不能通过认证,画面又回到了登陆画面。
比如地址(https://servername/login.aspx)(使用了SSL,这个应该没关系)但如果访问地址不用host名,用IP地址的话,就能顺利调到下个画面。
比如地址(https://123.456.789.1/login.aspx)服务器环境:
Windows 2003 R2ASP.NET2.0:
ASP.NET的Login控件

解决方案 »

  1.   

    楼主的“Distributed Transaction Coordinator”服务是否关闭?
    可以参考http://hi.baidu.com/draculamx/blog/item/d3f9a0b34a05f2a3d9335aaa.html
      

  2.   

    如果你用的是ASP.NET的Login控件,那么你的数据库就应该是用aspnet_regsql生成的.用户名是保存在aspnet_Users表里面的.
    我也遇到过你的问题,数据表里面明明有用户,却不能用来登录。后来发现,在用VS调试(http://host..)的时候注册的用户,放在iis中(http://192.168.1.2..)是不能用的.反过来也一样.因此,两种不同的浏览网页方式需要各自注册自己的用户,不能混用。很奇怪这样的问题,但一直不知道原因.
    我估计是Membership.ValidateUser()和Membership.GetAllUsers()这些方法的问题。
    解决办法就是自己做登录框,自己写业务层
      

  3.   

    你好,我只用了Login控件的画面,认证处理都是自己写SQL文查自己的业务数据库的。应该不是这个问题。
      

  4.   

    你好,谢谢你的链接。这个服务的问题,我下周到公司确认一下。
    这篇文章里最后写到“另有一情况,当C盘为NTFS分区时,发布目录放在C盘也会出现这样的情况”,我现在的发布目录就是放在C盘的(因为服务器就只有一个C盘),而且是NTFS格式的。是不是就是因为这个原因,但想知道为什么,而且怎么能解决它。
      

  5.   

    今天确认了服务,“Distributed Transaction Coordinator”是在启动状态的,系统log也没有异常。
      

  6.   

    遇到了一种新的情况。。 !!  用login控件注册了一个用户。。 可以登陆。。但是数据库咋没有该记录啊