ユーザーロールを作成する
独自のカスタムロールを使用して、アプリケーションの特定の画面や操作に対するエンドユーザーのアクセスを制限または許可することができます。たとえば、バックオフィスロールを作成してバックオフィス画面に設定し、バックオフィス画面にアクセスする権限があるエンドユーザーに対してのみこのロールを付与できます。
カスタムロールを作成するには、以下の手順を実行します。
- [Logic]タブに移動します。
- Roleフォルダを右クリックして[Add Role]オプションを選択します。
- ロールの名前とその他の情報を設定します。
新しいロールが作成されると、Usersアプリケーションからエンドユーザーに割り当てたり、アクセス管理用のロジックをアプリケーションに作成したりできます。
アプリケーションのロジックでロールを使用する
モジュールで新しいロールを定義すると、OutSystemsでは、ロジックでロールを使用するために必要となる一連のシステムアクション、ビルトイン関数、および例外が提供されます。
ロールアクション
OutSystemsでは、モジュールのロールごとに以下のアクションが用意されています。
Check<ロール名>Role
- 特定のエンドユーザーに特定のロールが付与されているかどうかを確認します。
注記: この機能はアクティブユーザーのみ利用可能です。非アクテイブユーザーに使用すると、ユーザーにロールが付与されていても、常結果は常に「False」になります。 Grant<ロール名>Role
- 特定のエンドユーザーに特定のロールへのアクセスを提供します。アクティブユーザーと非アクティブユーザーの両方に使用できます。
このアクションは、システムロールAnonymousとRegisteredでは使用できません。 Revoke<ロール名>Role
- 特定のエンドユーザーに特定のロールへのアクセスを拒否します。
このアクションは、システムロールAnonymousとRegisteredでは使用できません。
ロールアクションは、[Logic]タブのRolesフォルダの対応するロールにあり、アクションフローにドロップできます。
ロール関数
OutSystemsでは、Expressionの中でエンドユーザーのロールを確認するための、以下のビルトイン関数が用意されています。
Check<ロール名>Role
この関数は、[Expression]エディタの[Scope]ツリーにあるRolesフォルダにあります。これはアクティブユーザーのみ利用可能です。
この各ロールの関数のほかにも、ロールに関連するビルトイン関数があります。詳細については、ロールビルトイン関数をご覧ください。
ロール例外
OutSystemsでは、モジュールのロールごとに以下の例外が用意されています。
Not <ロール名>
この例外は、特定のロールが必要な画面などの要素にユーザーがアクセスしようとして、そのユーザーに必要なロールが付与されていない場合に発生します。