在asp.net中Membership默認會使用sqlexpress數據庫在項目的app_data文件夾下生成一個asp.net的mdf文件。然而這種方式不適合在生產環境中。
下面介紹如何手動配置成員資格提供程序。
首先配置並生成數據庫和表:
在vs2010中切換到命令行狀態:
在vs2010的命令窗口中輸入: aspnet_regsql.exe
將會出現手動配置成員資格的嚮導界面。
點擊下一步後,會出現任務選項,請選擇:爲應用程序服務配置SQL server.
此時在服務器中配置好你的項目sqlserver服務器的數據庫的登陸的相關信息。
如果此時你的數據庫已經建立好了。可以選擇你的數據庫,如果採用默認,系統將會生成一個aspnetdb的數據庫(如果已存在該數據庫則不變)併產生相關的11張表以及視圖和相關的存儲過程。
假設我們預先設計好項目的數據庫 QK已存在,那麼最好選擇此數據庫,那麼將會另外添加membership需要的11張表和視圖和相關的存儲過程。
接下來,我們就要在vs項目中配置好連接字符串和成員提供程序,以便系統能找到它。
以下的web.config總是指根目錄下的。
1) 在項目的根配置文件web.config中的<configuration>節點下配置如下內容:
<connectionStrings>
<add name="myMemship" connectionString="server=.;database=aspnetdb;uid=sa;pwd=sa;"/>
</connectionStrings>
當然,在connectionString的值要設置爲你自己的數據庫的相關配置。
2)爲應用程序配置成員資格提供程序
將membership節點添加到web.config的<system.web>節點下面。
<system.web>
<membership defaultProvider="myMemshipProvider">
<providers>
<add type="System.Web.Security.SqlMembershipProvider" name="myMemshipProvider" connectionStringName="myMemship" applicationName="MyMembership" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="true" passwordFormat="Hashed"/>
</providers>
</membership>
</system.web>
然後你就可以在asp.net的網站管理工具裏使用這個“myMemshipProvider”了。
你可以在網站管理工具裏新增加一個用戶,在相應的數據庫裏查看註冊的用戶有沒有添加到aspnet_Users表中.(完)