tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:PermissionSetで権限セットの情報にアクセス

f:id:tyoshikawa1106:20141112050549p:plain


権限セットの情報にアクセスしたいときのためにPermissionSetオブジェクトが用意されています。権限セット名のName項目と権限セットラベルのLabel項目が用意されていますが、ラベルは動的に変更される可能性があるので検索条件には向いていません。Name項目はRecordTypeなどのDeveloperNameと同じで一度決定すれば変更される可能性は低く、一意になるので検索条件に使用できると思います。


f:id:tyoshikawa1106:20141112052644p:plain


f:id:tyoshikawa1106:20141112052652p:plain


権限セットを一つも作成していない環境でクエリを実行したところ自動生成されたと思われる権限セットが複数存在していました。これはプロファイル毎に用意されるシステム上で使用される権限セットのようです。


自作した権限セットと比較したところ、所有者プロファイル項目の値のチェック有無に違いがありました。検索条件でNameを指定するときは気にする必要がありませんが、一意になる条件を指定せずに検索する際は、所有者プロファイルのチェックがFalseのもののみ取得するように条件を指定した方がいいかもしれません。


PermissionSetオブジェクトは名前プレフィックスやプロファイル、ライセンス情報も保持しています。

f:id:tyoshikawa1106:20141112051537p:plain


テストクラスでテストデータを作成せずにクエリを実行しても一件以上存在していることになっていたので、おそらく所有者プロファイルにチェックがついているものが取得できるのだと思います。試したことがなかった気がしますがINSERTも可能だったと思うので、自分でテストデータの作成することもできると思います。

f:id:tyoshikawa1106:20141112051902p:plain

PermissionSetオブジェクトのサンプルコード

参考