原文參見:http://joeon.net/archive/2007/05/25/ASP.NET-Membership-Admin-without-Visual-Studio.aspx
在使用預設的ASP.NET 2.0 Membership(AspNetSqlMembershipProvider)時,可以通過Visual Studio工具或者FrontPage伺服器擴充去修改配置和增加/刪除使用者。
(譯註:在使用Visual Studio開發Web網站時,有Asp.Net配置選項)
那麼如何在不使用Visual Studio的情況下,進行Membership的配置?下面列出主要步驟:
供參考:因為以下操作會暴露出一些管理能力,操作時要很小心,並且在明確正確的目的的情況下進行操作。
1、在IIS中建立虛擬目錄:
虛擬目錄: ASP.NetWebAdminFiles
實體路徑: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ASP.NETWebAdminFiles
2、修改虛擬目錄的屬性,將ASP.NET的版本改成2.0
注意:如果在同一台機器上運行1.1和2.0的應用程式,你需要為2.0的網站安裝一個單獨的應用程式集區,否則會出現以下錯誤提示:"Application Unavailable"
3、將虛擬目錄的匿名訪問去除
4、然後,你可以使用如下的url串連管理主控台:
http://localhost/ASP.NETWebAdminFiles/default.aspx?applicationPhysicalPath=XXX&applicationUrl=/YYY
我的一個例子:
http://localhost/ASP.NETWebAdminFiles/default.aspx?applicationPhysicalPath=C:\inetpub\wwwroot\myapp\&applicationUrl=/myapp
注意:以下是不推薦使用的。
如果你需要遠端連線這個管理主控台,開啟C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ASP.NETWebAdminFiles\App_Code目錄下的WebAdminPage.cs檔案,將如下的一段代碼注釋掉:
if (!application.Context.Request.IsLocal)
{
SecurityException securityException = new SecurityException((string)HttpContext.GetGlobalResourceObject(
"GlobalResources", "WebAdmin_ConfigurationIsLocalOnly"));
WebAdminPage.SetCurrentException(application.Context, securityException);
application.Server.Transfer("~/error.aspx");
}
這個管理主控台仍然受Windows整合認證的保護。
如果更新使用者資訊時報如下錯誤:
Failed to update database "C:\inetpub\wwwroot\myapp\App_Data\ASPNETDB.MDF" because the database is read-only.
是因為NETWORK_SERVICE帳戶沒有對這個MDF檔案的讀寫權限。