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

了解Microsoft Access安全性

 2007-10-15 15:15:06 来源:WEB开发网   
核心提示:通过编程设置权限要对数据库中的各种对象设置权限,可以使用 Group 或 User 对象的 SetPermissions 方法,了解Microsoft Access安全性(6),在下面的过程中,我们首先撤消组的所有权限,我们讨论了实现 Access 数据库不同保护级别的各种方法,介绍了共享级和用户级安全性,然后再赋予组

通过编程设置权限

要对数据库中的各种对象设置权限,可以使用 Group 或 User 对象的 SetPermissions 方法。在下面的过程中,我们首先撤消组的所有权限,然后再赋予组特定的权限。这样可以确保该组只具有我们指定的权限:

Private Function SetGroupPermissions(ByVal strGroup As String, _
     ByVal strTable As String, ByVal strObjectType As String, _
     ByVal strAction As String, _
     ByVal strRevokeEnum As String) As Boolean
   Dim catDB As ADOX.Catalog
   On Error GoTo SetGroupPermissions_Err
   Set catDB = New ADOX.Catalog
   With catDB
     ' 在当前数据库中打开 Catalog 对象。
     .ActiveConnection = CurrentProject.Connection
     ' 撤消组的所有权限。
     .Groups(strGroup).SetPermissions tblTable, _
       strObjectType, strAction, strRevokeEnum
      
     ' 赋予组特定的权限。
     .Groups(strGroup).SetPermissions tblTable, _
       strObjectType, strAction, _
       adRightRead Or adRightInsert Or adRightUpdate
   End With
   ' 关闭 Catalog 对象。
   Set catDB = Nothing
   SetGroupPermissions = True
SetGroupPermissions_Err:
   Msgbox Err.Number & ":" & Err.Description
   SetGroupPermissions = False
End Function

在当前数据库中打开一个 Catalog 对象后,我们使用了 Groups 集合的 SetPermissions 方法,撤消了该组对 Employees 表的所有权限。第一个参数是表的名称,第二个参数显示了对象的类型,这里是表。第三个参数指定了在设置权限时要执行的操作的类型,第四个参数是一个权限常数,指定了该组没有任何权限。我们已经撤消了该组对 Employees 表的所有权限,现在可以赋予其所希望的权限。下一个语句的前三个参数与前一个语句中的相同。第四个参数是通过使用 Or 运算符,组合不同的权限常数所创建的一个值。这里,我们赋予了读取、插入和更新该表的权限。要对指定类型(例如上述示例中的表)的所有新对象设置权限,请将用于赋予权限的语句中的第一个参数更改为 NULL 关键字。例如:

...
catDB.Groups(strGroup).SetPermissions NULL, adPermObjTable
...

小结

在本文中,我们讨论了实现 Access 数据库不同保护级别的各种方法,介绍了共享级和用户级安全性。同时还介绍了如何使用 Access Security Wizard 以及如何通过编程来实现安全设置。

上一页  1 2 3 4 5 6 

Tags:了解 Microsoft Access

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