不使用Visual Studio进行ASP.NET Membership管理[翻译]

原文参见: 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文件,将如下的一段代码注释掉:

不使用Visual Studio进行ASP.NET Membership管理[翻译] if   ( ! application.Context.Request.IsLocal) 
不使用Visual Studio进行ASP.NET Membership管理[翻译]   
{
不使用Visual Studio进行ASP.NET Membership管理[翻译]   SecurityException securityException 
= new SecurityException((string)HttpContext.GetGlobalResourceObject(
不使用Visual Studio进行ASP.NET Membership管理[翻译]                                                                        
"GlobalResources""WebAdmin_ConfigurationIsLocalOnly"));
不使用Visual Studio进行ASP.NET Membership管理[翻译]
不使用Visual Studio进行ASP.NET Membership管理[翻译]   WebAdminPage.SetCurrentException(application.Context, securityException);
不使用Visual Studio进行ASP.NET Membership管理[翻译]   application.Server.Transfer(
"~/error.aspx");
不使用Visual Studio进行ASP.NET Membership管理[翻译]  }

这个管理控制台仍然受Windows集成认证的保护。

如果更新用户信息时报如下错误:
    Failed to update database "C:\inetpub\wwwroot\myapp\App_Data\ASPNETDB.MDF" because the database is read-only.
是因为NETWORK_SERVICE帐户没有对这个MDF文件的读写权限。

你可能感兴趣的:(asp.net)