ls处理ACL,使用的是NotesACL这个类,在这里简单的写下常用的几个,在帮助里搜索NotesACL,其实都可以找到
1.如何获取当前数据库的ACL ?
Dim session As New NotesSession
Dim db As NotesDatabase
Dim acl As NotesACL
Dim entry As NotesACLEntry
Set db = session.CurrentDatabase
Set acl = db.ACL
2.如何获取当前数据库的角色名称?
Dim session As New NotesSession
Dim db As NotesDatabase
Dim acl As NotesACL
Set db = session.CurrentDatabase
Set acl = db.ACL
Forall r In acl.Roles
Messagebox( r )
End Forall
3.如何添加角色?
Dim session As New NotesSession
Dim db As NotesDatabase
Dim acl As NotesACL
dim rolename as String
Set db = session.CurrentDatabase
Set acl = db.ACL
rolename = "xxx" '字符有限制,貌似5个汉字的长度不包含"[","]"符号
If(Isnull(Arraygetindex(acl.Roles,"["+rolename+"]"))) Then
acl.AddRole(rolename)
'删除使用方法DeleteRole
'重命名使用RenameRole
End If
call acl.save
4.如何为某个人员添加角色?
Dim acl As NotesACL
Dim entry As NotesACLEntry
Set acl = db.ACL
Set entry = acl.CreateACLEntry ( "Shelly McPhail/East/ACME", ACLLEVEL_EDITOR ) ’第一个参数为name,第二个为级别
entry.EnableRole("[xxx]") '添加数据库中已有的角色
'其他属性设置,可查帮助
entry.CanCreateDocuments=True
entry.CanReplicateOrCopyDocuments=True
entry.IsPerson=True
Call acl.Save