visual studio 2005 提供了非常方面的通過 asp.net configuration設定使用者以及驗證的方式。同時提供了登入控制項來操作登入。不過讓我難過的是,預設是採用sql express在你的app_data建立一個mdb檔案。我現在要使用sql server來儲存那麼我需要一些配置。
1. 首先到你安裝.net frame works架構的目錄輸入下面命令,安裝membership到你的SQL server
C:/Documents and Settings/xxpp>C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regsql.exe -S (local) -E -A m
Start adding the following features:
Membership
..參數-S 表明你是哪個sql server,我目前是本機,所以採用local,其他的自己換名字了。
參數-E 連結SQL 採用windwos的方式,本機不用輸入密碼呢。
參數-A m 增加membership 的feature
成功完成後,開啟你的SQL SERVER 2000你就會看到已經多了一個aspnetdb的資料
2.隨後我們在web.config裡面添加以下資料庫連接,就是連結到剛才建立的資料庫
其中呢,Data Source =xxx,表示我的資料來源,我採用混合認證方式,User ID=sa Password=Pass,我我自己的使用者名稱密碼呢。
<connectionStrings>
<add name="aspnetdbConnectionString" connectionString="Data Source=xxx;Initial Catalog=aspnetdb;Persist Security Info=True;User ID=sa;Password=Pass"
providerName="System.Data.SqlClient" />
</connectionStrings>
3.配置網站開啟web.config添加以下MebmbershipProvide
其中要注意的就是connectionStringName="aspnetdbConnectionString"這個一定要同你在2步驟中配置的名一樣。
我們也可以看到我們添加了一個MySqlMembershipProvider
<membership defaultProvider="MySqlMembershipProvider" >
<providers>
<clear/>
<add name="MySqlMembershipProvider"
connectionStringName="aspnetdbConnectionString"
applicationName="MyAppName"
type="System.Web.Security.SqlMembershipProvider,
System.Web, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>
4.ok,在visual studio 2005 裡面工具列,點擊WebSite -ASP.NET Configuration。看到關於web配置頁面。
在裡面選擇Provider ,然後點擊其中的“Select a different provider for each feature(advanced)
ok ,已經可以看到在Membership Provide的列表裡面看到了MySqlMembershipProvider了,點擊Test,成功連結。
5.另外一種也可以的辦法如下,修改LocalSqlServer配置。我們可以看到在C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/CONFIG/machine.config裡面有這個選項。不過我們不需要修改。只是在我們de webconfig裡面重載一個呢。以下是另外一種web.config重點就是connectionstring 裡面的東西
<?xml version="1.0"?>
<!--
Note: As an alternative to hand editing this file you can use the
web admin tool to configure settings for your application. Use
the Website->Asp.Net Configuration option in Visual Studio.
A full list of settings and comments can be found in
machine.config.comments usually located in
WindowsMicrosoft.NetFrameworkv2.xConfig
-->
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<appSettings/>
<connectionStrings>
<remove name="LocalSqlServer" />
<add name="LocalSqlServer" connectionString="Data Source=XPXPCOM;Initial Catalog=aspnetdb;Integrated Security=True"
providerName="System.Data.SqlClient" />
<add name="aspnetdbConnectionString" connectionString="Data Source=XXXXX;Initial Catalog=aspnetdb;Persist Security Info=True;User ID=sa;Password=Pass"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<!--
Set compilation debug="true" to insert debugging
symbols into the compiled page. Because this
affects performance, set this value to true only
during development.
-->
<compilation debug="true"/>
<!--
The <authentication> section enables configuration
of the security authentication mode used by
ASP.NET to identify an incoming user.
-->
<!--
<authentication mode="Windows"/>
-->
<authentication mode="Forms" />
<!--
The <customErrors> section enables configuration
of what to do if/when an unhandled error occurs
during the execution of a request. Specifically,
it enables developers to configure html error pages
to be displayed in place of a error stack trace.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
</system.web>
</configuration>
另外我還看到http://lcx.cnblogs.com/archive/2006/06/29/438836.HTML有個寫的不錯的web.config可以參考一下是另外一種思路呢
當然還有個更加簡單的辦法,直接在windows裡面運行aspnetsql.exe,參考文檔http://weblogs.asp.net/scottgu/archive/2005/08/25/423703.aspx