我需要发布一个演示网站到网上。我需要安全访问该网站。
现场使用SQL Server作为成员提供者的网站。然而,对于演示网站,我只能发布到一个简单的网络主机,并没有访问SQL Server。
我只需要一个用户,他们不需要更改密码等选项。因此,我认为实现此目的的最简单方法是使用web.config中的成员。我创建了以下内容:
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<authentication mode="Forms">
<forms name="ProjectApple" loginUrl="~Login.aspx">
<credentials passwordFormat="Clear">
<user name="lawyer" password="Super12."/>
</credentials>
</forms>
</authentication>
<compilation debug="true"/>
</system.web>
</configuration>
当我可以使用SHA1散列时,我将使用它。问题是,当我输入了无效的密码时,它会识别。但是,当我输入正确的密码时,我会得到以下结果:
Cannot open user default database. Login failed.
Login failed for user 'RB-T510\Rob'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Cannot open user default database. Login failed.
Login failed for user 'RB-T510\Rob'.
我不知道它为什么要找SQL?有人能帮忙吗?
我正在使用VS2010和.Net 3.5
非常感谢,
罗伯
3条答案
按热度按时间hzbexzde1#
若要对web.config中的凭据使用窗体身份验证,必须使用FormsAuthentication.Authenticate方法。看起来您具有尝试访问成员资格类的默认登录控件。
x3naxklr2#
根据错误中用户名的格式,我将猜测您的web.config中仍然有一个
Integrated Security=True
的连接字符串,并且正在打开的页面上有一些从SQL请求数据的控件。a8jjtwal3#
首先检查您的身份验证模式。如果是SQLAuthentication,请在连接字符串中给予UserId和Password。例如: