LOTUSSCRIPT /COM/OLE のクラス
例:アクセス制御リストの確認と編集を行う
1.
次の例では、共通のアクセスが強制されているかどうかを表示し、続いてローカルデータベースの ACL の各エントリにアクセスしてその名前を表示します。
Sub Initialize
Dim db As New NotesDatabase _
("", Inputbox("Name of database"))
Dim dbACL As NotesACL
Dim dbACLEntry As NotesACLEntry
Set dbACL = db.ACL
Set dbACLEntry = dbACL.GetFirstEntry()
If dbACL.UniformAccess Then
Messagebox "Uniform access in effect"
Else
Messagebox "Uniform access not in effect"
End If
While Not(dbACLEntry Is Nothing)
Messagebox dbACLEntry.Name
Set dbACLEntry = dbACL.GetNextEntry(dbACLEntry)
Wend
End Sub
2. 次の例では、データベースの最大のインターネットアクセスレベルを示します。
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim acl As NotesACL
Set db = session.CurrentDatabase
Messagebox acl.InternetLevel
If acl.InternetLevel = ACLLEVEL_READER Then
acl.InternetLevel = ACLLEVEL_EDITOR
End If
Call acl.Save
End Sub
3. 次の例では、ローカルデータベースの ACL のエントリを検索し、そのプロパティを表示します。
Sub Initialize
Dim db As New NotesDatabase _
("", Inputbox("Name of database"))
Dim dbACL As NotesACL
Dim dbACLEntry As NotesACLEntry
Set dbACL = db.ACL
Set dbACLEntry = dbACL.GetEntry _
(Inputbox("Name of ACL entry?"))
Messagebox "Name:" & dbACLEntry.Name
Select Case dbACLEntry.Level
Case ACLLEVEL_NOACCESS :level = "No access"
Case ACLLEVEL_DEPOSITOR :level = "Depositor"
Case ACLLEVEL_READER :level = "Reader"
Case ACLLEVEL_AUTHOR :level = "Author"
Case ACLLEVEL_EDITOR :level = "Editor"
Case ACLLEVEL_DESIGNER :level = "Designer"
Case ACLLEVEL_MANAGER :level = "Manager"
End Select
Messagebox "Access level is " & level
If dbACLEntry.CanCreateDocuments Then
Messagebox "Can create documents"
Else
Messagebox "Cannot create documents"
End If
If dbACLEntry.CanDeleteDocuments Then
Messagebox "Can delete documents"
Else
Messagebox "Cannot delete documents"
End If
dbRoles = dbACLEntry.Roles
If Not(Isempty(dbRoles)) Then
Forall dbRole In dbRoles
Messagebox "Role:" & dbRole
End Forall
Else
Messagebox "No roles for this ACL entry"
End If
If NOT dbACLEntry.IsAdminServer Then
Messagebox "Entry does not have server
adminstration access."
Else
Messagebox "Entry may administer server."
End If
If NOT dbACLEntry.IsAdminReaderAuthor Then
Messagebox "AdminReaderAuthor access denied."
Else
Messagebox "AdminReaderAuthor access allowed."
End If
If dbACLEntry.CanCreateSharedFolder Then
Messagebox "Can create shared folders."
Else
Messagebox "Cannot create shared folders."
End If
End Sub
4. 次の例では、データベースの ACL に新規エントリを作成します。
Sub Initialize
Dim db As New NotesDatabase _
("", Inputbox("Name of database"))
Dim dbACL As NotesACL
Dim dbACLEntry As NotesACLEntry
Set dbACL = db.ACL
ename = Inputbox("Name of new ACL entry?")
Set dbACLEntry = New NotesACLEntry _
(dbACL, ename, ACLLEVEL_DESIGNER)
Messagebox dbACLEntry.Name & " " &dbACLEntry.Level
Call dbACL.Save
End Sub
5. 次の例では、データベースから ACL のエントリを削除します。
Sub Initialize
Dim db As New NotesDatabase _
("", Inputbox("Name of database"))
Dim dbACL As NotesACL
Dim dbACLEntry As NotesACLEntry
Set dbACL = db.ACL
ename = Inputbox("Name of ACL entry to be removed?")
Set dbACLEntry = dbACL.GetEntry(ename)
Messagebox dbACLEntry.Name & " " & dbACLEntry.Level
Call dbACLEntry.Remove
Call dbACL.save
End Sub
6. 次の例では、データベースの ACL にロールを追加し、ACL エントリとして有効にします。
Sub Initialize
Dim db As New NotesDatabase _
("", Inputbox("Name of database"))
Dim dbACL As NotesACL
Dim dbACLEntry As NotesACLEntry
Set dbACL = db.ACL
ename = Inputbox("Name of ACL entry?")
Set dbACLEntry = dbACL.GetEntry(ename)
Call dbACL.AddRole("Role 3")
Call dbACLEntry.EnableRole("Role 3")
dbRoles = dbACLEntry.Roles
If Not(Isempty(dbRoles)) Then
Forall dbRole In dbRoles
Messagebox "Role " & dbRole
End Forall
Else
Messagebox "No roles for this ACL entry"
End If
Call dbACL.save
End Sub
7. 次の例では、データベースにある ACL エントリのユーザーの種類を表示して変更します。
Sub Initialize
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
Set entry = acl.GetEntry("Lloyd Johnson")
If NOT entry.IsGroup Then
Messagebox entry.Name & " is not a group."
entry.IsGroup = True
Else
Messagebox entry.Name & " is a group."
End If
Call acl.Save
End Sub
関連項目
アクセス制御リストの確認と編集を行う
用語集
フィードバック
ヘルプ
または
プロダクトユーザビリティ
ヘルプの使い方
すべてのヘルプ項目
用語集