2

我正在尝试开发一个具有注册和登录功能的 ASP.NET 网站。为此,我按照本指南使用会员资格:

http://msdn.microsoft.com/en-us/library/ff648345.aspx

我已经运行Aspnet_regsql.exe并设置了数据库,并且还通过Web.config文件进行了更改以反映这一点:

<connectionStrings>
    <add name="MsSqlConnection" connectionString="Data Source=fostvm;Initial Catalog=db_74;User ID=user74;password=mypassword;Integrated Security=SSPI;" />
</connectionStrings>
<authentication mode="Forms">
  <forms loginUrl="Account/Login.aspx"
         protection="All"
         timeout="30"
         name="AppNameCookie"
         path="/FormsAuth"
         requireSSL="false"
         slidingExpiration="true"
         defaultUrl="default.aspx"
         cookieless="UseCookies"
         enableCrossAppRedirects="false" />
</authentication>
<authorization>
  <deny users="?" />
  <allow users="*" />
</authorization>
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
  <providers>
    <clear />
    <add
      name="SqlProvider"
      type="System.Web.Security.SqlMembershipProvider"
      connectionStringName="MsSqlConnection"
      applicationName="WebSite10"
      enablePasswordRetrieval="false"
      enablePasswordReset="true"
      requiresQuestionAndAnswer="true"
      requiresUniqueEmail="true"
      passwordFormat="Hashed" />
  </providers>
</membership>

加载登录或注册页面时我没有收到任何错误,但是当我尝试使用虚拟帐户数据登录时,我收到此错误:

Login failed. The login is from an untrusted domain and cannot be used with Windows authentication.

我用谷歌搜索了它,发现了来自不同论坛和博客的大量线程,但没有任何解决方案有效。

我错过的配置中是否有任何明显的错误?

谢谢。

4

1 回答 1

0

我的猜测是,在你的连接字符串中你有。

Data Source=fostvm;Initial Catalog=db_74;User ID=user74;password=mypassword;Integrated Security=SSPI;

有人可以纠正我,当您Integrated Security=SSPI指定时,将User ID忽略passwordand 并使用 Windows 身份验证?在这种情况下,最有可能的是应用程序池帐户,甚至可能是 IUSR_Account,用于匿名访问,它可能对您的数据库没有权限。

所以总结一下 - 尝试Integrated Security=SSPI从连接字符串中删除,或将其替换为 Integrated Security=false

于 2012-10-31T20:15:44.670 回答