WEB开发网
开发学院数据库Access 了解Microsoft Access安全性 阅读

了解Microsoft Access安全性

 2007-10-15 15:15:06 来源:WEB开发网   
核心提示:添加和删除用户以下过程将创建一个新的用户帐户,然后将其追加到用于当前数据库的工作组信息文件中的默认 Users 组,了解Microsoft Access安全性(5),注意:要在 Access 中使用下面的示例,您需要作为 Admins 组的成员登录并打开一个数据库, Set catDB = Nothing Delete

添加和删除用户

以下过程将创建一个新的用户帐户,然后将其追加到用于当前数据库的工作组信息文件中的默认 Users 组。注意:要在 Access 中使用下面的示例,您需要作为 Admins 组的成员登录并打开一个数据库。在下面的过程中,您要确保工作组信息文件不包含在 strUser 中指定了其名称的用户。例如,您可以先调用 DeleteUser 子例程来确保这一点。请看以下代码:

Private Function AddUser(ByVal strUser As String, _
     ByVal strPID As String, _
     Optional ByVal strPwd As String) As Boolean
   Dim catDB As ADOX.Catalog
   On Error GoTo AddUser_Err
   ' 实例化 Catalog 对象。
   Set catDB = New ADOX.Catalog
   With catDB
     ' 使用到当前数据库的连接打开
     ' Catalog 对象。
     .ActiveConnection = CurrentProject.Connection
     ' 创建新的用户帐户。
     .Users.Append strUser, strPwd, strPID
     ' 向默认 Users 组追加新的用户帐户。
     .Groups("Users").Users.Append strUser
   End With
   ' 关闭 Catalog 对象。
   Set catDB = Nothing
   AddUser = True
AddUser_Err:
   Msgbox Err.Number & ":" & Err.Description
   AddUser = False
End Function

该过程首先为 Catalog 对象声明一个变量,然后实例化该对象。注意:Catalog 对象是 Access 数据库文件中所有对象的容器。然后,该过程打开到当前数据库的连接,并使用来自调用过程的参数,将新用户追加到 Catalog 对象的 Users 集合中。然后新用户被追加到默认的 Users 组。Users 集合包含了在工作组信息文件中定义的数据库的所有用户。要删除现有用户,可以使用以下过程:

Private Function DeleteUser(ByVal strUser As String) As Boolean
   Dim catDB As ADOX.Catalog
   On Error GoTo DeleteUser
   ' 实例化 Catalog 对象。
   Set catDB = New ADOX.Catalog
   With catDB
     ' 在当前数据库中打开 Catalog 对象。
     .ActiveConnection = CurrentProject.Connection
     ' 删除 strUser。
     .Users.Delete strUser
   End With
   ' 关闭 Catalog 对象。
   Set catDB = Nothing
   DeleteUser = True
DeleteUser_Err:
   Msgbox Err.Number & ":" & Err.Description
   DeleteUser = False
End Function

此过程与前面的过程类似,只是使用了 Catalog 对象的 Delete 方法删除了在 strUserString 参数中指定的用户。

添加和删除组

添加组的过程与添加用户的过程类似。

Private Function AddGroup(ByVal strGroup As String, _
     ByVal strPID As String) As Boolean
   Dim catDB As ADOX.Catalog
   On Error GoTo AddGroup_Err
   Set catDB = New ADOX.Catalog
   With catDB
     ' 在当前数据库中打开 Catalog 对象。
     .ActiveConnection = CurrentProject.Connection
     ' 创建新的组。
     .Groups.Append strGroup, strPID
   End With
   ' 关闭 Catalog 对象。
   Set catDB = Nothing
   AddGroup = True
AddGroup_Err:
   Msgbox Err.Number & ":" & Err.Description
   AddGroup = False
End Function

此过程首先实例化 Catalog 对象,然后打开一个到当前数据库的连接。接下来,通过使用来自调用过程的参数,将新组追加到 Catalog 对象的 Groups 集合。要删除现有组,可以使用以下过程:

Private Function DeleteGroup(ByVal strGroup As String) As Boolean
   Dim catDB As ADOX.Catalog
   On Error GoTo DeleteGroup_Err
   Set catDB = New ADOX.Catalog
   With catDB
     ' 在当前数据库中打开 Catalog 对象。
     .ActiveConnection = CurrentProject.Connection
     ' 删除 strGroup。
     .Groups.Delete strGroup
   End With
   ' 关闭 Catalog 对象。
   Set catDB = Nothing
   DeleteGroup = True
DeleteGroup_Err:
   Msgbox Err.Number & ":" & Err.Description
   DeleteGroup = False
End Function

此过程与前面的过程类似,只是使用了 Catalog 对象的 Delete 方法删除了在 strGroup String 参数中指定的组。下面我们来看看如何通过编程设置对数据库对象的权限。

上一页  1 2 3 4 5 6  下一页

Tags:了解 Microsoft Access

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接