我正在尝试开发一个具有注册和登录功能的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搜索并发现来自不同论坛和博客的大量帖子,但没有解决方案有效。
我错过了我的配置中是否有任何明显的错误?
感谢。
答案 0 :(得分:0)
我的猜测是,你的连接字符串中有。
Data Source=fostvm;Initial Catalog=db_74;User ID=user74;password=mypassword;Integrated Security=SSPI;
有人可以纠正我,当你指定Integrated Security=SSPI
时,会忽略User ID
和password
并使用Windows身份验证吗?在这种情况下,最有可能是应用程序池帐户,甚至可能是IUSR_Account,用于匿名访问,它可能没有您的数据库的权限。
总结一下 - 尝试从连接字符串中删除Integrated Security=SSPI
,或将其替换为Integrated Security=false