ASP.NET網站管理工具的初始配置

來源:互聯網
上載者:User

ASP.NET 網站管理工具是ASP.NET2.0以來VS提供的操作Web.config的GUI.使用起來比直接編輯Web.config方便一些.但初始化配置時會遇到以下麻煩.

參考幾個blog和俺自己的實驗,總結點東西寫寫.

1、開啟ASP.NET網站管理工具

有兩個方法可以開啟這個工具。

(1)通過菜單-》項目-》ASP.NET配置開啟。如所示

(2)在方案總管裡邊開啟,如所示

開啟的ASP.NET網站管理工具:

  

2、沒有安裝SQLEXPRESS的困難

在安裝VS時,如果沒有安裝SQLExpress,點擊安全選項卡,經過漫長的等待後,可以看見如下提示:

找不到資料庫。如果安裝了SQLExpress則不會出現這種情況。

為啥?

如果安裝了SQLExpresss,則當你使用管理工具時,系統如果發現沒有資料庫,會自動在App_Data檔案夾下建立並組裝一個資料庫。使用預設的連接字串就能建立到該資料庫的連結。

沒安裝,不會建立這個資料庫,也沒有配置別的資料庫,當然就找不到SqlServer資料庫了。。。

 

3、網站資料庫的初始化配置

(1)初始化資料庫位置

我安裝VS時沒有安裝SQLEXPRESS,而是單獨安裝了SQLServer2008.資料庫配置遇到了點麻煩。

ASP.NET網站的預設資料庫連結字串為:

data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true

.在IIS管理器裡邊可以看到:

使用了SQLEXPRESS.我沒裝,資格字串無效,需要手動在Web.config 裡邊設定.(注:安裝VS後這個字串在C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIGmachine.config 中,被所有的網站預設繼承下來.)

開啟WebConfig檔案,設定連接字串如下:

<connectionStrings>
  <clear/>
  <add name="ConnectionString" connectionString="Data Source=ZYQ-PC\SQL2008;Initial Catalog=TestDB;User ID=sa;Password=********;"/>
</connectionStrings>

我是一SQL2008下的TestDB資料庫作為網站的資料庫.

(2)初始化資料庫內容

在路徑C:\Windows\Microsoft.NET\Framework\v2.0.50727下,找到aspnet_regsql.exe,雙擊開啟ASP.NETSQLServer安裝嚮導,按照提示將剛才設定的資料庫初始化.這個工具在資料庫中添加了一些表和預存程序,如所示:

如果嫌使用aspnet_regsql.exe不過癮,可以找到C:\Windows\Microsoft.NET\Framework\v2.0.50727檔案夾下的幾個SQL檔案手動安裝(InstallCommon.sql、InstallMembership.sql、InstallPersistSqlState.sql、InstallPersonalization.sql、InstallProfile.SQL、InstallRoles.sql、InstallSqlState.sql、InstallSqlStateTemplate.sql、InstallWebEventSqlProvider.sql)。工具其實就是使用了這幾個SQL檔案組裝資料庫的。

 

4、設定membership和roleManager 以使用組態工具

(此處內容來自http://www.cnblogs.com/wqq4522/archive/2010/04/22/1717898.html,因為設定的內容一樣,我就把它複製到我的WebConfig裡邊了)

在system.web節點下添加membership節點。

<membership defaultProvider="AspNetSqlMembershipProvider" userIsOnlineTimeWindow="15" hashAlgorithmType="">

<providers>

<clear/>

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

</providers>

</membership>

屬性解釋說明:

defaultProvider:提供者的名稱。預設為 AspNetSqlMembershipProvider。如果你有多個Provider的話,指定一個預設值是明智的做法

userIsOnlineTimeWindow:指定使用者在最近一次活動的日期/時間戳之後被視為聯機的分鐘數。

hashAlgorithmType:用於雜湊密碼的演算法的標識符,或為空白以使用預設雜湊演算法。connectionStringName:membership資料庫的串連名稱。

enablePasswordRetrieval:指示當前成員資格提供者是否配置為允許使用者檢索其密碼。

enablePasswordReset:指示當前成員資格提供者是否配置為允許使用者重設其密碼。

requiresQuestionAndAnswer:指示預設成員資格提供者是否要求使用者在進行密碼重設和檢索時回答密碼提示問題。

applicationName:應用程式的名稱。

requiresUniqueEmail:指示成員資格提供者是否配置為要求每個使用者名稱具有唯一的電子郵件地址。

passwordFormat:指示在成員資格資料存放區區中儲存密碼的格式。值可選Clear、Encrypted 和 Hashed。Clear 密碼以明文形式儲存,這可以提高儲存和檢索密碼的效能,但安全性較差,當資料來源安全性受到威脅時此類密碼很容易被讀取。Encrypted 密碼在儲存時進行了加密,可以在比較或檢索密碼時進行解密。此類密碼在儲存和檢索時需要進行額外的處理,但比較安全,在資料來源的安全性受到威脅時不容易被擷取。Hashed 密碼在儲存到資料庫時使用單向雜湊演算法和隨機產生的 salt 值進行雜湊處理。在驗證某一密碼時,將用資料庫中的 salt 值對該密碼進行雜湊計算以進行驗證。無法檢索雜湊密碼。

maxInvalidPasswordAttempts:鎖定成員資格使用者前允許的無效密碼或無效密碼提示問題答案嘗試次數。

minRequiredPasswordLength:密碼所要求的最小長度。

minRequiredNonalphanumericCharacters:有效密碼中必須包含的最少特殊字元數。

passwordAttemptWindow:在鎖定成員資格使用者之前允許的最大無效密碼或無效密碼提示問題答案嘗試次數的分鐘數。這是為了防止不明來源反覆嘗試來猜測成員資格使用者的密碼或密碼提示問題答案的額外措施。

passwordStrengthRegularExpression:計算密碼的Regex。

為membership配置web.config後,再配置其角色管理roleManager,也是在system.web下。

<roleManager enabled="true" cacheRolesInCookie="true">

<providers>

<clear/>

<add connectionStringName="ConnectionString" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

</providers>

</roleManager>

屬性解釋說明:

cacheRolesInCookie:指示目前使用者的角色是否已緩衝在某個 Cookie 中。

當 CacheRolesInCookie 屬性在設定檔中設定為 true 時,每個使用者的角色資訊就會儲存在用戶端上的某個 Cookie 中。當角色管理檢查確定某個使用者是否屬於某個特定角色時,在調用角色提供者在資料來源中檢查角色列表之前,將先檢查角色 Cookie。該 Cookie 在用戶端上會動態更新以緩衝最近已驗證的角色名稱。

web.config就配置差不多了。

5、設定完成後

再次開啟ASP.NET網站管理工具,點擊安全選項卡,幾乎不需要等待就能看到如下介面:

在這裡可以進行很多操作.操作方法可以參考

http://www.cnblogs.com/wqq4522/archive/2010/04/22/1717898.html

http://www.cnblogs.com/ajiaojiao0303/archive/2010/11/25/1888178.html

這裡就不再介紹了.

 

Technorati 標籤: ASP.NET 網站管理工具

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.