位置:海鸟网 > IT > ASP.NET >

不使用VS进行ASP.NET Membership管理

在使用默认的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连接管理控制台:

  ?applicationPhysicalPath=XXX&applicationUrl=/YYY

  我的一个例子:

  ?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文件的读写权限。