質問/症状

特定のアクションを実行する権限があるかどうか確認するにはどうすればよいですか?

回答/解決策

ユーザーがページへの書き込み言々を持っているかどうかを確認するには:

public boolean hasWriteAccess(Node pageNode, Session userSession) throws RepositoryException { String path = pageNode.getPath(); try { userSession.checkPermission(path, "add_node,set_property"); if(pageNode.hasNode(JcrConstants.JCR_CONTENT)) { String contentNodePath = path + "/" + "jcr:content"; userSession.checkPermission(contentNodePath, "add_node,set_property"); } } catch(java.security.AccessControlException e) { return false; } return true; }

ユーザーがページをアクティブにできるかどうかを確認するには:

final User u = resourceResolver.adaptTo(User.class); // alternatively: final User u = SecurityUtil.resolveUser(session); return u.hasPermission(Replicator.REPLICATION_PERMISSION);

参照

ユーザのための 5.2 API を参照してください

適用対象

CQ5.1、CQ5.2

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー