0

舞台裏でLiferay 6.2のロールを追加および事前設定するために、liferayのスタートアップフックスクリプトを作成しています。具体的には、[コントロール パネル] > [役割] > [アクション] > [権限の定義] からアクセスできる権限の種類を追加しようとしています。

現在、Liferay ロールを追加することはできますが、カスタム アクセス許可をプログラムでロールに追加する正しい方法を見つけることができませんでした。Liferay の以前のバージョンではこれを行う方法があったようですが、ここでは表示されません。

https://www.liferay.com/community/forums/-/message_boards/message/2965424 https://www.liferay.com/web/guest/community/forums/-/message_boards/message/124558

これまでのところ、RolePermissionUtil、RoleLocalServiceUtil などの利用可能なサービスを調査してきました。

サービスを介してスタートアップ フックに追加できるのか、それとも UI でしかできないのか教えてください。

これらの投稿以降、API が変更されたようです。

よろしくお願いいたします。

4

1 に答える 1

0

と を使用してそれを理解しましResourcePermissionLocalServiceUtil.setResourcePermissionsRoleLocalServiceUtil

例えば。

RoleLocalServiceUtil.fetchRole(CompanyThreadLocal.getCompanyId(), "Role Name");
ResourcePermissionLocalServiceUtil.setResourcePermissions(CompanyThreadLocal.getCompanyId(), Role.class.getName(), ResourceConstants.SCOPE_GROUP_TEMPLATE, String.valueOf(role.getRoleId()), role.getRoleId(), new String[] {ActionKeys.VIEW, ActionKeys.UPDATE, ActionKeys.DELETE});

以前CompanyThreadLocalは会社 ID を取得していました。これは、ポートレットではなくフックで使用しているためです。通常、テーマ表示からアクセスします。ここではロールへのアクセスを追加しているだけですが、他のクラスの名前空間を追加することもできます。(例"com.liferay.portlet.dynamicdatalists.model.DDLRecordSet")

于 2014-04-18T14:23:42.750 に答える