在 Visual Studio 中运行 Web 时,以下行返回 true。
if (Membership.ValidateUser(Login1.UserName, Login1.Password))
但是,当我通过网络访问相同的代码时,它返回 false。
相同的数据库、相同的计算机、相同的 Web 文件夹,唯一的区别是,当我在 Visual Studio 中运行调试时,它可以工作,而当我尝试通过 Web 访问它时,它会失败。
谢谢
最佳答案
当您处于 Debug模式时,您位于登录用户的安全上下文中。
当您通过网络访问时,您可能处于同一用户或 IIS 匿名用户或应用程序池身份的上下文中,具体取决于您的配置。
如果您将 IIS 和 web.config 配置为使用 Windows 身份验证并 impersonate = true,您应该会得到相同的结果。
关于C# .NET - Membership.ValidateUser 在网络中返回 false;在 Visual Studio 中真实,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1190529/