2011-08-25 11 views
5

我使用aspnet_regsql.exe將ASP.NET成員資格表安裝到遠程數據庫中。它似乎已經成功創建了數據庫中的所有表格,這是我在過去使用此技術時創建的。 aspnet_regsql也表示該進程已成功完成。ASP.NET Membership Provider,配置不正確 - 無法打開websit管理工具

我能夠用sql server management studio連接到數據庫並執行查詢。我有我的web.config文件設置包含相關設置如下所示。


<connectionStrings> 
    <add name="ApplicationServices" connectionString="Data Source=**********;Initial Catalog=********;Integrated Security=false;User ID=*************;Password=******" providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

<membership> 
     <providers> 
     <clear/> 
     <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" 
      enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" 
      maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" 
      applicationName="/" /> 
     </providers> 
    </membership> 

    <profile> 
     <providers> 
     <clear/> 
     <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" /> 
     </providers> 
    </profile> 

    <roleManager enabled="false"> 
     <providers> 
     <clear/> 
     <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" /> 
     <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" /> 
     </providers> 
    </roleManager> 

我知道數據庫工程的連接。連接字符串是正確的。但是,當我進入網站管理工具來開始配置安全性時,我收到一條錯誤消息:

您選擇的數據存儲存在問題。這可能是由於無效的服務器名稱或憑據,或者權限不足造成的。它也可能是由角色管理器功能未啓用引起的。點擊下面的按鈕將被重定向到您可以選擇新數據存儲的頁面。

以下消息可能有助於診斷問題:無法加載類型'PVN.Web.MvcApplication'。


所以是的,這是我試圖構建的MVC3應用程序。而Web應用程序項目的名稱叫做PNV.Web,但我不知道'PVN.Web.MvcApplication'是什麼。

任何幫助,將不勝感激。

謝謝

回答

2

所以看起來我的問題是我的角色管理器被設置爲false。

<roleManager enabled="false"> 

一旦我將它設置爲true,我就可以使用網站配置工具,沒有任何問題,一切似乎都開始奏效。

<roleManager enabled="true"> 
1

您是否在嘗試使用網站管理工具之前編譯應用程序?在網站編譯之前它不會工作。

+0

如果編譯不起作用,請仔細檢查您的「Global.asax」標記文件是否在其「Inherits」屬性中引用了「PVN.Web.MvcApplication」。有時如果在創建項目後更改命名空間,則不會更新它。 –

1

您的應用程序名稱未設置:

applicationName="/" /> 

設置應用程序的名稱,並確保它的名字在申請表中您的數據庫匹配。祝你好運。

0

我的默認成員資格提供程序工作,但我更改了aspnet_Applications表中的應用程序的名稱。如果你這樣做,你也需要在web.config中更改applicationName。