使用成员资格时不受信任的域错误

时间:2012-10-31 15:21:40

标签: asp.net asp.net-membership

我正在尝试开发一个具有注册和登录功能的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.

我用Google搜索并发现来自不同论坛和博客的大量帖子,但没有解决方案有效。

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

感谢。

1 个答案:

答案 0 :(得分:0)

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

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

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

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