了解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 参数中指定的组。下面我们来看看如何通过编程设置对数据库对象的权限。
- ››Microsoft Outlook 2010 邮箱客户端中常用邮件设置...
- ››Access数据库安全策略之ASP式
- ››Accessibility.updateProperties ,Accessibility...
- ››Microsoft Office2007Open XML 格式的术语表
- ››Microsoft PowerPoint 2010介绍
- ››Microsoft ReportViewer(微软报表)项目中的应用...
- ››Microsoft APP-V 4.5使用经验之序列化工具
- ››Access denied for user...
- ››Access denied for user: root@dbhost (Using pas...
- ››了解Windows Mobile文件结构
- ››access 的页怎么用
- ››了解 IBM Smart Business Development and Test o...
更多精彩
赞助商链接