2011-08-10 78 views
1

我想让我的自定义“CREATEUSER”工作,但我认为我在我的web.config中有问题。感谢这里的帮助,我已经获得了MEMBERSHIP部分,但是我的MEMBERSHIP.CREATEUSER命令无法登录到数据库。错误是“无法登录到默认数据库”。我添加了一个连接字符串,名称在我的部分。但我卡住了。Asp.net会员供应商定制CreateUser

Here is the code-behind file for creating the user: 

     protected void submit_Click(object sender, EventArgs e) 
     { 

       Membership.CreateUser(userName.Text, passwdConfirm.Text, email.Text); 

     } 

而且,这里是我的Web.config文件。

<configuration> 

    <connectionStrings> 
     <add name="FVTCEntities" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=SFP;attachdbfilename=H:\ASP.Net\FVRG\FVRG\App_Data\FVTC.mdf;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
     <add name="dbMembership" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=H:\ASP.Net\FVRG\FVRG\App_Data\ASPNETDB.MDF;User Instance=true" providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
    <system.web> 
     <authorization> 
      <allow roles="ADMIN" /> 
      <allow roles="GUEST" /> 
     </authorization> 
     <roleManager enabled="true" /> 
     <authentication mode="Forms" /> 
     <compilation debug="true" targetFramework="4.0" /> 

     <membership> 

     <providers> 
      <clear/> 
      <add name="AspNetSqlMembershipProvider" 
       type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
       connectionStringName="dbMembership" 
       enablePasswordRetrieval="false" 
       enablePasswordReset="true" 
       requiresQuestionAndAnswer="false" 
       requiresUniqueEmail="true" 
       passwordFormat="Hashed" 
       maxInvalidPasswordAttempts="5" 
       minRequiredPasswordLength="7" 
       minRequiredNonalphanumericCharacters="1" 
       passwordAttemptWindow="10" 
       passwordStrengthRegularExpression="" 
       applicationName="/FVRG" /> 
     </providers> 

     </membership> 
    </system.web> 

    <appSettings> 
    <add key="DatabaseConnection" value="Data Source=.\SQLEXPRESS;AttachDbFilename=H:\ASP.Net\FVRG\FVRG\App_Data\FVTC.mdf;Integrated Security=True;User Instance=True" /> 
    </appSettings> 
</configuration> 

在此先感谢您的帮助!

+1

你能确认连接字符串是否正确?您指定的conncectionStringName是“dbMembership”,但我无法看到它,因为您只在代码中包含。 – atbebtg

+0

我已经插入完整的Web.config文件。 – Susan

回答

1

该错误通常是由于用于访问数据库的帐户而引起的。数据库中的每个帐户设置都有一个默认数据库,并且该用户的默认数据库设置不存在,或者用户无权访问它。这必须在数据库服务器上完成。

HTH。

+0

我粘贴了完整的Web.config,它显示连接字符串。我使用SQLExpress作为我的SQL服务器,你如何去添加用户访问?它在服务器资源管理器的数据库列表中显示为一个数据库。 – Susan

+0

哦,我错过了。如果你还没有使用数据库,我不确定你为什么会得到这个错误,因为如果你已经读过,你会知道错误。也许错误是数据库没有附加正确。它的意思是默认数据库是一个数据库,当前登录到SQL数据库的用户无法读取.....错误与此类似:http://weblogs.asp.net/jeffwids/archive /2010/02/19/how-to-change-sql-server-login-default-database-through-sql-script.aspx –

+0

嗨,布莱恩......你可以登录/附加到2个不同的SALExplress数据库在同时?我有我的FVTC(餐厅)数据库和我的ASPNETDB(会员提供商)数据库。我是否需要管理连接/断开连接?这一切似乎工作,如果我不使用我的自定义createuser控件。 – Susan