2011/04/14

access2010 Webデータベース その19 CurrentWebUser/CurrentWebUserGroups/IsCurrentWebUserInGroup

ログインしているSharePoint上のユーザ情報を取得するメソッド CurrentWebUser/CurrentWebUserGroups
オフライン時でも取得できる

CurrentWebUserもしくはCurrentWebUserGroups実行時にSharePointから取得するのだけど、オフライン時でも取得できるようになっている。SharePointから情報取得できた場合、以下のプロパティが作成され保存されていて、オフライン時にはこれらを参照する。
CurrentWebUserID
CurrentWebUserName
CurrentWebUserLoginName
CurrentWebUserEmail
CurrentWebUserGroupIDs
CurrentWebUserGroupNames
e.g. CurrentDb.Properties("CurrentWebUserID")
但し、UserNameとEmailは値が存在しないことがありえるのだけど、その場合UserNameもしくはEmailに関するプロパティは作成されない。

オフラインである時、ローカルに保存されたaccdbを開いた場合のユーザ情報は最後にログインしたユーザのものとなるはず。
作成されたプロパティの更新というか再作成は、オンラインかつ、CurrentWebUserとCurrentWebUserGroupsのいずれかが実行されたとき行われるようなので、ユーザ情報を使用する必要があるときには、AutoExecや起動時のフォームで取得するようにしておく。

ユーザは複数のグループに所属していることもあるから、特定のグループに所属しているかどうかは、IsCurrentWebUserInGroupメソッドで確認する。

0 件のコメント: