アプリケーションを記述する際は、ほとんどの場合、アクセス許可によって保護する必要のあるアプリケーションまたはそのデータの部分があります。すべての機能またはデータにアクセスする必要があるユーザーもいますが、ほとんどのユーザーには必要ありません。
多くのプラットフォームでは、開発者は自分でセキュリティモデルを作成する必要があります。Liferay DXPでは、アプリケーションセキュリティモデルが提供されているので、それを活用できます。
幸いなことに、アプリケーションの種類に関係なく、アプリケーションとそのコンテンツへのアクセスはアクセス許可で制御できます。Liferayのアクセス許可システムと、アプリケーションにアクセス許可を追加する方法について学びます。
アクセス許可システムには、リソース、アクション、および権限の3つの部分があります。
アクション:ユーザーが実行できる操作。たとえば、ユーザーはブックマークのアプリケーションでADD_TO_PAGE
、CONFIGURATION
、およびVIEW
の操作を行うことができますユーザーはブックマークのエントリーエンティティでADD_ENTRY
、DELETE
、PERMISSIONS
、UPDATE
、およびVIEW
のアクションを実行できます。
リソース:アクションを実行できるアプリケーションまたはエンティティの一般的な表現。リソースは権限のチェックに使用されます。たとえば、リソースには、インスタンスIDがhF5f
のRSSアプリケーション、グローバルにスコープが設定されたWikiページ、サイトXのブックマークエントリ、IDが5052
のメッセージボードの投稿を含めることができます。
権限:リソースに対してアクションを実行できるかどうかを判断するフラグ。データベースでは、リソースとアクションはペアで保存されます。ResourceAction
テーブルの各エントリには、ポートレットまたはエンティティの名前とアクションの名前の両方が含まれています。たとえば、ブックマークアプリケーションの表示に関するVIEW
アクションは、com_liferay_bookmarks_web_portlet_BookmarksPortlet
ポートレットIDに関連付けられています。ブックマークフォルダの表示またはブックマークエントリの表示に関するVIEW
アクションは、com.liferay.bookmarks.model.BookmarksFolder
およびcom.liferay.bookmarks.model.BookmarksEntry
エンティティにそれぞれ関連付けられています。
したがって、アクセス許可を行うには、リソースでアクションを実行する権限を持つユーザー(ロール)を定義します。ユーザー定義は、アプリケーションがデプロイされると管理者によって行われます。開発者は、リソース、アクション、およびデフォルトの権限を定義します。
頭字語DRACで表す4つのステップで、アプリケーションに権限を実装できます。
-
すべてのリソースとその権限を定義します(D)。
-
すべての定義済みリソースをアクセス許可システムに登録します(R)。
-
必要な権限をリソースに関連付けます(A)。
-
リソースを返す前に権限を確認します(C)。
次の4つのチュートリアルでは、これらの手順を詳細に説明します。