ASP.Net身份验证< credentials>在Web.config中使用

iyzzxitl  于 2022-12-20  发布在  .NET
关注(0)|答案(3)|浏览(141)

我需要发布一个演示网站到网上。我需要安全访问该网站。
现场使用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
非常感谢,
罗伯

hzbexzde

hzbexzde1#

若要对web.config中的凭据使用窗体身份验证,必须使用FormsAuthentication.Authenticate方法。看起来您具有尝试访问成员资格类的默认登录控件。

x3naxklr

x3naxklr2#

根据错误中用户名的格式,我将猜测您的web.config中仍然有一个Integrated Security=True的连接字符串,并且正在打开的页面上有一些从SQL请求数据的控件。

a8jjtwal

a8jjtwal3#

首先检查您的身份验证模式。如果是SQLAuthentication,请在连接字符串中给予UserId和Password。例如:

<"Data source="";Initial Catalog="Dbname";UserId=sa;Password=1234">

相关问题