在对数据库操作的过程中,需要对数据库进行权限判断,因此是否为管理员或当前的用户角色非常重要。

Function IsDbManager As Variant
    Dim db As NotesDatabase
    Dim session  As New NotesSession
    Dim user As String
    Dim commuser As String
    commuser=session.CommonUserName
    user=session.UserName
    Set db=session.CurrentDatabase
    IsDbManager=False
    Forall m In db.Managers
        If (m=user Or m=commuser) Then
            IsDbManager=True
            Exit Forall
        End If
    End Forall
End Function

判别用户的角色

Function IsAuthor As Variant
    Dim db As NotesDatabase
    Dim session As New NotesSession
    Dim colls As NotesDocumentCollection
    Dim user As String
    Dim commuser As String
    Dim roles As Variant   
    Set db=session.CurrentDatabase   
    user=session.UserName
    commuser=session.CommonUserName
        roles=Evaluate("@Name([cn];@UserRoles)")
        IsAuthor=False
        Forall r In roles
        If r="[图书管理员]" Or r="[系统管理员]" Then
            IsAuthor=True
            Exit Forall
        End If           
    End Forall        
End Function