LOTUS/DOMINO学习笔记之判断是否为数据库管理员和用户的角色

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

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

你可能感兴趣的:(Lotus)