网站管理工具的“安全”选项卡
更新:2007 年 11 月
可使用网站管理工具的**“安全”选项卡管理用于保护 Web 应用程序中特定资源的安全的规则。ASP.NET 使用一个安全系统,该系统使您可限制对一些特定用户帐户或对这些用户帐户所属的角色的访问。使用“安全”选项卡,可以管理用户帐户、角色和网站的访问规则。第一次使用“安全”选项卡之前,请使用“安全设置向导”**来配置网站的基本安全设置。
ASP.NET 的安全性建立在用户帐户、角色和访问规则这些概念的基础之上,并可以限制只有指定的用户帐户才能访问 Web 应用程序的资源。安全设置是通过结合使用配置设置与存储在数据库(或其他数据存储区)中的数据来建立的。创建的用户帐户和角色存储在数据库中,而访问规则存储在 Web.config 文件中。
可以配置应用程序使用下面的安全类型,具体取决于网站的使用方式:
基于窗体的身份验证(“通过 Internet”)
基于窗体的身份验证用于可通过 Internet 访问的网站。基于窗体的身份验证使用 ASP.NET 成员资格系统,以管理各个用户帐户和组(角色)。用户帐户信息存储在本地数据库或 Microsoft SQL Server 数据库中。可以使用 ASP.NET 登录控件来创建一个登录页,用户可以在该页上输入他们的凭据。
集成 Microsoft Windows 身份验证(“通过本地网络”)
Windows 身份验证使用用户在登录到 Windows 时提供的登录凭据,与 Windows 安全性交互。因此,Windows 身份验证适用于 Intranet 方案,即用户登录到基于 Windows 的网络的方案。您不必创建登录页,因为用户可使用 Windows 凭据自动登录到您的应用程序。
使用**“安全”选项卡的“用户”**部分来完成下面的任务:
创建、编辑和删除网站的注册用户帐户。
查看网站所有注册用户帐户的列表。
更改网站使用的身份验证方法。
说明: |
---|
如果选择“通过 Internet”选项作为身份验证类型(如果使用基于窗体的身份验证),则可以创建并管理用户帐户。如果选择“通过本地网络”选项作为身份验证类型(如果使用集成 Windows 身份验证),则不能够管理每个用户帐户。如果更改身份验证的类型,将丢失任何已创建的用户信息。此外,访问规则可能将不再以配置的方式工作。通常,只应该在第一次配置网站的时候选择身份验证类型。 |
使用**“安全”选项卡的“角色”**部分对用户帐户分组,这可使分配权限(授权)的过程更加简单。
使用**“安全”选项卡的“访问规则”**部分,以允许或拒绝特定的用户帐户或属于指定角色的所有用户帐户对指定页进行访问。通常,可以使用访问规则以限制一些用户帐户对页的访问。
创建用户
如果将身份验证的类型设置为**“通过 Internet”(Forms 身份验证),则可以创建并管理用户帐户。若要更改身份验证的类型,请单击“选择身份验证类型”**。
创建用户帐户
单击**“创建用户”**,然后指定下面的信息。
用户名
输入要创建的用户帐户的名称。
密码
为**“用户名”**输入密码。密码是区分大小写的。
确认密码
再次输入**“密码”**。
电子邮件
为**“用户名”**输入电子邮件地址。
网站管理工具不会确认输入的地址是否为有效的电子邮件地址,但是会验证该电子邮件地址是否符合电子邮件地址的正确格式。
安全提示问题
输入当用户需要重置或恢复密码时向用户询问的问题。
安全答案
输入**“安全提示问题”**的答案。
活动用户
选择此选项,以启用此用户帐户作为站点的活动(当前)用户。如果不选择此选项,则用户信息将存储在数据库中,但用户无法登录网站。
角色
选择**“用户名”**的角色。可以单独创建角色。有关更多信息,请参见下一节。
创建角色
创建角色
在**“安全”选项卡上,单击“启用角色”**。
单击**“创建或管理角色”**。
在**“新角色名称”框中,输入要创建的角色的名称,例如“Administrator”、“Member”或“Guest”,然后单击“添加角色”**。
向角色添加用户帐户
在**“安全”选项卡上,单击“管理用户”,再单击“编辑用户”**。
在**“角色”**下选择用户帐户的角色。
创建访问规则
创建访问规则
在**“安全”选项卡上,单击“创建访问规则”**。
指定下面的选项:
为此规则选择一个目录
可以选择创建一条规则,该规则既可以应用于整个站点,也可以只应用于特定的子目录。在显示的网站目录结构中,选择该规则要应用的目录。
在**“规则应用于”**下,指定如何应用规则。
角色
选择**“角色”**,然后在列表中选择要应用访问规则的角色的名称。
用户
选择**“用户”,然后输入要应用访问规则的用户帐户的名称。如果使用 ASP.NET 成员资格(网站安全性设置为“通过 Internet”**),则还可以使用“搜索用户”功能。
所有用户
选择此选项以将规则应用于网站的所有访问者。
说明: 用“所有用户”选项创建规则时一定要小心。因为规则按顺序应用,所以可能会无意创建一条使所有用户均无法访问某个文件夹的规则。
匿名用户
选择此选项以将此规则只应用于匿名(非注册)用户帐户。
通常,可选择**“匿名用户”**选项以限制(拒绝)未登录用户的访问。
权限
选择**“允许”**,以允许指定的用户帐户或角色对指定目录的访问。
选择**“拒绝”**,以拒绝指定的用户帐户或角色对指定目录的访问。
例如,若要防止未登录(匿名)用户查看一个文件夹中的页,请单击该文件夹,选择**“匿名用户”,再选择“拒绝”**。
有时,可能需要为同一个文件夹创建多条规则,以便建立正确的权限。例如,可能会创建一条规则,该规则拒绝对匿名用户帐户的访问,同时创建第二条规则,该规则拒绝对 Guest 角色中的用户帐户的访问。那样,只有其他组中的已登录用户才能访问该文件夹。
幕后
网站管理工具在下面的两个地方管理安全信息:
网站的根目录下的 Web.config 文件。
用以存储用户和组信息的站点提供程序数据库。
Web.config 设置
通过**“安全”**选项卡管理的 Web.config 设置为 <authorization>、<roleManager> 和 <authentication> 节。
下面的代码示例是一个 Web.config 文件,该文件用网站管理工具在网站的一个受限制子目录中创建。管理员能够访问该受限制的子目录,而匿名用户不能访问。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization> <allow roles="administrators" /> <deny users="?" /> </authorization>
</system.web>
</configuration>
数据库
使用默认数据提供程序时,网站管理工具在默认的 ASP.NET 数据库中创建项。在默认情况下,网站管理工具在网站的 App_Data 文件夹中创建数据库。但是,通过使用**“提供程序”**选项卡,可以指定将用户帐户和角色的应用程序信息保存在另一个数据库中(例如,从 Windows 用户数据库检索角色信息)。有关详细信息,请参见“网站管理工具提供程序”选项卡。
更多信息
有关在**“安全”**选项卡中管理的设置的更多信息,请参见 .NET Framework 文档中的以下主题: