当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

テクてく Lotus 技術者 Slack に参加しよう!

2008年4月23日水曜日

別のDBにロールを作成する

指定したNotesDBにロールを作成して、登録してあるACLエントリにそのロールを付与する方法です。

当然のことながら、NotesDBに"管理者"権限があることが必要になります。


Sub Click(Source As Button)
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim acl As NotesACL
    Dim entry As NotesACLEntry
    
    On Error Goto ErrProc
    
    'ACL情報を操作するDBを取得する
    Set db = New NotesDatabase( session.CurrentDatabase.Server, "データベースファイル名" )
    Set acl = db.ACL
    
    'ACLにロールを作成する
    Call acl.AddRole( "ロール名" )
    
    'エントリにロールを付与する
    Set entry = acl.GetEntry( "エントリ名" )
    Call entry.EnableRole( "ロール名" )
    
    'ACL情報を保存する
    Call acl.Save
    Exit Sub
    
ErrProc:
    Msgbox "エラー発生行数:" + Cstr(Erl) + Chr$(10) + "エラーメッセージ:[No." + Cstr(Err) + "] " + Error(Err)
    Exit Sub
End Sub 


0 件のコメント: