练习 4:添加用户并管理他们的权限
此主题仅适用于 ArcEditor 和 ArcInfo。
为您创建登录帐户以准备完成本教程时,已将您的登录帐户添加到数据库服务器。
通常,其他用户可能需要访问数据库服务器。为此,必须将这些用户的登录帐户添加到数据库服务器。仅当该 Windows 登录帐户存在于计算机中或网络上时,才能执行此操作。因此,在本练习中,首先将登录帐户添加到计算机中,然后再将它们添加到数据库服务器。
如数据库服务器教程快速浏览中所述,如果您不具备管理员权限,您必须请系统管理员为您创建用户。
将用户添加到计算机
可通过 Windows 的“计算机管理”控制台添加用户。
将创建两个登录帐户:editor1 和 manager1。
- 单击 Windows 任务栏上的开始按钮。
- 打开 Windows 控制面板。
- 在“控制面板”中,打开“计算机管理”控制台。
- 在“系统工具”中展开本地用户和组。
- 右键单击“用户”文件夹,然后单击新建用户。
- 在用户名文本框中输入 editor1。
- 在密码和确认密码文本框中输入 editor.1。
-
取消选中用户下次登录时须更改密码。
-
单击创建。
文本框将被清除,但对话框仍打开。
- 在用户名文本框中输入 manager1。
- 在密码和确认密码文本框中输入 manager.1。
-
取消选中用户下次登录时须更改密码。
- 单击创建,然后单击关闭。
您的计算机上现在有两个新用户:editor1 和 manager1。接下来,将这两个用户添加到数据库服务器。
如果这两个用户将执行同类型的任务并且对数据库服务器上的地理数据库具有相同的权限,则可以建立 Windows 组并将他们分配到该组中。但在本教程中,editor1 和 manager1 具有不同的权限,因此使用 Windows 登录帐户即可。
将用户添加到数据库服务器
为这两个新用户创建 Windows 登录帐户后,可将它们添加到数据库服务器。使用数据库服务器级别的“权限”对话框可完成此操作。
在数据库服务器级别的“权限”对话框中,数据库服务器管理员可以添加和移除用户以及授予服务器管理员权限。由于 editor1 和 manager1 都不会成为数据库服务器管理员,所以在这一系列步骤中不会给他们分配权限。
- 重新打开 ArcMap。
- 在 Catalog 窗口中,右键单击数据库服务器,然后单击权限。
- 单击添加用户。
- 在输入要选择的对象名称文本框中输入 editor1。
-
单击检查名称。
前面带计算机名称的 Editor1 将显示在该字段中。(如果该用户是网络用户,则其名称前将带有网络名称。)
- 单击确定。
- 重复步骤 3 到 6 将 manager1 添加到数据库服务器。
- 单击确定应用更改并关闭权限对话框。
默认地理数据库权限
将 editor1 和 manager1 用户添加到数据库服务器后,他们也将被添加到 Osokopf 和 buildings 地理数据库。通过打开地理数据库级别的“权限”对话框可以看到。
-
右键单击 buildings 地理数据库,指向管理,然后单击权限。
将打开地理数据库级别的权限对话框。在数据库服务器用户列表中,可以看到刚添加到数据库服务器的登录帐户。
-
选择用户 editor1。
请注意,为 editor1 选择的选项是无。对于不是数据库服务器管理员的新用户,这是默认的地理数据库级别的权限。
无表示用户对地理数据库没有特定权限。如果权限为“无”的用户登录到数据库服务器,那么他只能看到地理数据库而不能对该地理数据库执行任何操作。
如地理数据库的权限对话框所示,其他可用的地理数据库级权限分别为只读、读/写和系统管理员。
授予地理数据库级别的权限
如果具有只读权限的用户登录到数据库服务器,那么他可以查看地理数据库和其中存储的数据。该用户可以在 ArcMap 中查询数据库和使用数据,但不能编辑数据(除非已为该用户授予了对特定数据库的读/写权限。数据集权限将在下一节讨论)。
被授予读/写地理数据库级别权限的用户不仅能查看和查询数据,还能编辑地理数据库中的所有数据。
如果用户被授予地理数据库的管理权限,则该用户具有读/写权限并且可以执行地理数据库维护任务,例如,数据库压缩和重新构建该地理数据库的索引。地理数据库管理员还可以管理现有用户对该地理数据库的权限。
用户的权限仅适用于授予用户权限所依据的地理数据库。用户不具有数据库服务器级别的管理权限,因此无法执行数据库服务器级别的管理任务,如添加用户或附加、分离、还原或创建地理数据库。
Editor1 需要具有编辑 buildings 和 Osokopf 地理数据库中所有数据的权限。Manager1 将管理 buildings 数据库,但仅能查看 Osokopf 地理数据库中的数据。您作为数据库服务器管理员,将为各个用户授予适当的权限。
- 右键单击 Osokopf 地理数据库,指向管理,然后单击权限。
-
从数据库服务器用户列表中选择 editor1,单击读/写,然后单击应用。
这会将 editor1 添加到对该地理数据库具有读/写权限的角色。由于在地理数据库级别授予此权限,因此 editor1 现在对 Osokopf 地理数据库中的所有数据均具有读/写访问权限。
-
从数据库服务器用户列表中选择 manager1,然后单击系统管理员。
这会将 manager1 添加到对该数据库具有管理员权限 (db_owner) 的地理数据库角色。
- 单击确定应用更改并关闭 Osokopf 地理数据库的权限对话框。
- 右键单击 buildings 地理数据库,指向管理,然后单击权限。
-
从数据库服务器用户列表中选择 editor1,单击读/写,然后单击应用。
Editor1 现在对 buildings 地理数据库中的所有数据也具有读/写权限。
-
从数据库服务器用户列表中选择 manager1,然后单击只读。
这会将 manager1 添加到仅能查看和选择 buildings 地理数据库中的所有数据的地理数据库角色中。
- 单击确定应用更改并关闭 buildings 地理数据库的权限对话框。
改变数据集权限
针对数据集可以授予三种类型的权限:“无”、“只读”和“读/写”。仅数据集所有者可以更改其他用户对数据集的权限。
您可以根据表、要素类、要素数据集、栅格目录、栅格数据集或镶嵌数据集的全限定名称中出现的架构名称来判断某一数据集的所有者。数据集创建者的架构名称包含在数据集名称中并用引号括起。例如,如果具有域帐户 universe\ghila 的用户在地理数据库中创建了一个表 (contacts),则表的全限定名称为 proj_work."universe\ghila".contacts。
数据库服务器管理员使用 dbo 架构,因此,他们所创建的数据在数据集名称中含有 dbo。身为 dbo 的成员的任何用户(也就是说,身为数据库服务器管理员的任何用户)都被视为 dbo 架构中的数据集的所有者。
在地理数据库级别更改 editor1 和 manager1 对 buildings 地理数据库的权限后,这些权限将应用于该地理数据库中的数据集。例如,在地理数据库级别向 editor1 授予对 buildings 地理数据库的读/写权限,因此该用户对该地理数据库中的所有数据具有读/写访问权限。您无法在数据集级别更改 editor1 对该地理数据库中的任何数据的权限,因为该用户已具有最高级别的权限。要了解相关情况,请执行以下步骤:
- 展开 buildings 地理数据库。
-
右键单击 gov_bldgs 要素类,然后单击权限。
将打开数据集级别的权限对话框。
-
从数据库服务器用户列表中选择 editor1。
所有权限选项都处于禁用状态,并提示该用户已具有更高级别的权限。
Manager1 具有地理数据库级别的 buildings 地理数据库“只读”权限。因此,manager1 对所有数据具有数据集级别的“只读”权限。要了解相关情况,请从数据库服务器用户列表中选择 manager1。
由于有更高级别权限(读/写)可供授予,因此可以更改 manager1 对建筑物地理数据库中的各数据集的权限。
由于 buildings 地理数据库中的所有现有数据集都归 dbo 所有,所以可以更改用户对该地理数据库中的任何数据集的权限。为此,请执行以下步骤:
- 右键单击 government 要素类,然后单击权限。
- 从数据库服务器用户列表中选择 manager1。
- 单击读/写。
- 单击确定。
Manager1 此时对 gov_bldgs 要素类具有读/写访问权限。对 buildings 地理数据库中的其他数据集的权限仍是只读。
要对此进行确认,请执行以下步骤:
- 右键单击 utilities 要素类,然后单击权限。
-
从数据库服务器用户列表中选择 manager1。
可以看到,manager1 对此要素类仍具有只读权限。
- 单击确定关闭数据集的“权限”对话框。
创建更改内容的备份
添加用户并更改权限后,应创建 buildings 和 Osokopf 地理数据库的备份。按照练习 3 中的说明在第一个建筑物备份所在的位置创建备份文件,但要更改备份文件的名称和描述。
例如,可以将 buildings 地理数据库的第二个备份命名为 buildings_bu2,并且可以输入说明“已添加用户且已授予权限”。可以将 Osokopf 备份命名为 osokopf_bu1。
在本练习中,您创建了 Windows 登录帐户,将其添加到数据库服务器,并且为其授予对这两个地理数据库的权限。还更改了一个用户对数据集的权限。现在用户可以编辑数据。