这个工具在不同版本的 ASP.NET 中有不同的形态和名称,但其核心目标是一致的:为开发人员提供一个图形化界面,用于管理网站的核心配置、用户、角色和应用程序设置,而无需手动编辑复杂的配置文件(如 web.config)。

下面我将按照 .NET Framework 的发展脉络,分别介绍这些工具。
ASP.NET Web Site Administration Tool (WSAT) - 针对 ASP.NET Web Forms (Web Site 项目)
这是最经典、最广为人知的“网站管理工具”,通常简称为 WSAT,它随 .NET Framework 3.5 及更早版本一同发布,主要用于 ASP.NET Web Site 项目类型(不是 Web Application)。
如何启动 WSAT?
有多种方式可以启动它,最常见的是:
-
通过 Visual Studio 菜单:
(图片来源网络,侵删)- 在 Visual Studio 中打开你的 ASP.NET Web Site 项目。
- 点击顶部菜单栏的 “网站” (Website)。
- 选择 “ASP.NET 配置” (ASP.NET Configuration)。
-
通过项目属性:
- 在“解决方案资源管理器”中右键点击你的网站项目。
- 选择 “属性” (Properties)。
- 在弹出的属性窗口中,切换到 “ASP.NET” 选项卡。
- 点击 “编辑配置” (Edit Configuration) 按钮。
-
通过命令行 (IIS):
- 如果你使用 IIS 来托管网站,可以在 IIS 管理器中右键点击你的网站或应用程序池。
- 选择 “管理网站” -> “配置 ASP.NET...”。
启动后,会弹出一个独立的浏览器窗口,这就是 WSAT 的界面。
WSAT 的主要功能
WSAT 主要提供四个核心管理页面:

-
主页:
- 提供到其他三个页面的快速链接。
- 显示当前应用程序的配置文件路径。
-
安全:
- 用户: 创建、编辑、删除、禁用用户,可以重置用户密码(前提是启用了密码恢复功能)。
- 角色: 创建、删除角色(如“管理员”、“普通用户”)。
- 访问规则: 为特定文件夹或整个网站设置基于角色或用户的访问权限,可以设置“管理员”角色可以访问
/Admin文件夹,而其他用户则被拒绝。 - 创建用户: 一个集中的用户创建向导。
-
应用程序:
- 调试与跟踪: 启用或禁用应用程序的调试模式和跟踪功能。
- 常规设置: 配置应用程序的默认语言、是否启用自定义错误、自定义错误页的 URL 等。
- 身份验证: 设置应用程序的身份验证模式,最常见的是将 “Windows 身份验证” 切换为 “Forms 身份验证”(即基于表单的登录)。
-
提供程序:
- 这是 WSAT 的底层配置核心,它允许你选择使用何种数据源来存储用户、角色、配置等信息。
- 默认情况下,它会使用 SQL Server Express 创建一个名为
ASPDB的数据库来存储这些数据。 - 你也可以将其配置为使用 Access 数据库 或自定义的提供程序。
重要限制和注意事项
- 仅限开发环境: WSAT 绝对不能用于生产环境,它是一个基于 Windows 身份验证的内部工具,需要将 ASP.NET 账户(如
NETWORK SERVICE或IIS_IUSRS)添加到App_Data文件夹的读写权限中,在生产环境中这样做是极其危险的。 - 项目类型限制: 它是为旧的 ASP.NET Web Site 项目设计的,在 ASP.NET Web Application 项目中,这个工具默认不可用(虽然可以通过一些复杂设置来启用,但不推荐)。
- 配置文件依赖: 它直接修改
web.config文件,如果你手动修改了web.config,WSAT 的显示可能会受到影响。 - 技术栈陈旧: 它是 .NET Framework 时代的技术,在 .NET Core 和 .NET 5+ 中已被弃用。
ASP.NET Web Application Projects - 内置的“管理用户”页面
对于现代的 ASP.NET Web Application 项目(无论是 Web Forms, MVC 还是 Razor Pages),WSAT 已经被集成到了项目模板中,以一种更现代、更易于部署的方式存在。
如何找到和使用?
-
创建新项目时勾选:
- 当你使用 Visual Studio 创建一个新的 ASP.NET Web Application 项目时,会看到一个身份验证选项。
- 选择 “个人用户账户” (Individual User Accounts),项目会自动为你配置好所有必要的文件,包括一个完整的
AccountController、Identity相关的视图和模型,以及一个默认的登录/注册页面。
-
现有项目中的管理:
- 如果你已经创建了一个项目,可以在“解决方案资源管理器”中找到
Areas/Identity/Pages/Account/Manage文件夹,这个文件夹包含了管理用户个人信息的所有页面,如“个人资料”、“密码”、“登录日志”等。 - 管理所有用户: 项目通常会提供一个“管理员”区域,用于管理所有用户,你可以通过
Areas/Identity/Pages/Users文件夹来找到或创建这些管理页面,这些页面通常使用 ASP.NET Core Identity 框架来驱动。
- 如果你已经创建了一个项目,可以在“解决方案资源管理器”中找到
核心技术与优势
- ASP.NET Core Identity: 这是现代 .NET 应用程序的推荐身份验证和授权框架,它是一个功能强大的、可扩展的会员系统。
- Entity Framework Core: Identity 的数据存储通过 EF Core 实现,可以轻松地连接到 SQL Server、SQLite、PostgreSQL 等各种数据库。
- Razor Pages / MVC: 管理界面是标准的 Web 应用程序页面,而不是一个独立的工具,这意味着它们可以被部署到任何地方,包括生产环境。
- 高度可定制: 你可以完全自定义用户注册、登录、密码重置等流程的 UI 和逻辑。
.NET Core / .NET 5+ - 推荐的管理方式
在 .NET Core 和更新的 .NET 版本中,ASP.NET Core Identity 是唯一推荐的身份验证和授权方案,WSAT 概念已被完全摒弃。
如何管理用户和角色?
管理方式是 代码优先 和 API 优先 的,主要通过以下几种方式:
-
代码管理: 在你的
Startup.cs(或Program.cs) 中配置 Identity,然后在你的 Controller 或 Razor Page 中使用UserManager和RoleManager服务来以编程方式创建用户和角色。// 在 Controller 或 Page 的构造函数中注入 private readonly UserManager<IdentityUser> _userManager; private readonly RoleManager<IdentityRole> _roleManager; public MyController(UserManager<IdentityUser> userManager, RoleManager<IdentityRole> roleManager) { _userManager = userManager; _roleManager = roleManager; } public async Task<IActionResult> CreateUser() { var user = new IdentityUser { UserName = "testuser", Email = "test@example.com" }; var result = await _userManager.CreateAsync(user, "Password123!"); if (result.Succeeded) { // 创建成功 } return View(); } -
数据库直接管理:
- 默认情况下,Identity 会使用 EF Core 将用户数据存储在一个名为
AspNetUsers的数据库表中。 - 你可以使用 SQL Server Management Studio (SSMS)、Visual Studio Server Explorer 或其他数据库工具直接连接到数据库,手动添加、修改或删除用户记录。(注意:直接修改数据库有风险,特别是密码是哈希存储的,直接修改可能无法登录)。
- 默认情况下,Identity 会使用 EF Core 将用户数据存储在一个名为
-
第三方管理面板:
- 这是 生产环境中最推荐的方式,社区和商业上有很多优秀的后台管理系统(Admin Panel)模板,它们已经集成了对 Identity 的完整管理功能。
- 示例:
- AdminLTE: 一个流行的免费后台模板,你可以很容易地将它与 ASP.NET Core Identity 结合。
- Radzen Blazor / Syncfusion: 商业 UI 组件库,提供了功能丰富的数据网格和表单,可以快速构建管理界面。
- 开源项目: 在 GitHub 上搜索 "ASP.NET Core Admin Template",可以找到大量现成的解决方案。
总结与对比
| 特性 | ASP.NET WSAT (Web Forms) | ASP.NET Web Application (内置 Identity) | .NET Core / .NET 5+ (推荐) |
|---|---|---|---|
| 适用项目 | ASP.NET Web Site | ASP.NET Web Application | .NET Core / .NET 5+ Web App |
| 技术核心 | Membership, SQL Server Express | ASP.NET Identity, EF Core | ASP.NET Identity, EF Core |
| 启动方式 | Visual Studio 菜单/项目属性 | 内置于项目模板 |
