juserのサブモデルの作成

最終更新日: 2021年11月24日
R8 | R9

制約

juserのサブモデルを作成する場合、次の項目を含めることはできません。

  • 現在のパスワード(passwdNow)
  • 新規パスワード(passwd) (*1)
  • 新規パスワード(確認用)(passwd2)
  • パスワード強制変更 (compulsoryChange)
  • パスワード更新日時 (passwdChangeDate)
  • パスワード更新フラグ (passwdChangeFlag)
  • パスワード入力エラー数 (passwdErrCount)
  • 過去のパスワード (oldPasswds)

サブモデル側でアカウントを作成した場合、パスワードは常に空白となります。そのため改めてメインモデル側でパスワードを設定するという運用になります。

※ メインモデル側の初期値設定でパスワードを設定しても、サブモデルでのアカウント登録時には影響しません。このような設定を行っても、サブモデルからアカウントを登録するとパスワードは空白となります。

プリンシパルの扱い8.5.9

juserのサブモデルに「プリンシパル」(jprincipalId)項目を含めることができますが、標準では画面に表示されません。

特別な権限を用意することで、詳細画面のみ「プリンシパル」を表示させることができます。詳細は次節をお読みください。

作成方法

入れ物となるモデルを用意する

はじめに、サブモデルとなる「入れ物」を用意します。新規モデルを作成します。

新規モデルの作成

モデル名、モデルIDを設定します。任意の名前を指定できます。ここでは "juser_sub" としておきます。

モデル名、モデルIDを指定する

最初に用意される項目をすべて消去します。

項目を消去する(1)
項目を消去する(2)

juserモデルから項目をコピーする

モデル > システムから、アカウントモデル(juser)の定義を開きます。

juserの定義を開く

すべての項目を選択します。

juserの項目をすべて選択する(1)
juserの項目をすべて選択する(2)

「制約」に合わせて、サブモデルでは保持できない項目を除きます。

一部の項目を除く

Designerの項目コピー機能を使います。対象を "他モデル" とします。

項目コピー(1)

対象モデルを選択するウィンドウで、先ほど用意した juser_sub モデルを指定します。

項目コピー(2)

確認ダイアログが表示されます。"はい" ボタンを押下します。

項目コピー(3)

juser_sub モデルを確認します。項目がコピーされていることがわかります。

項目コピー(4)

サブモデルの設定を行います。画面 > その他 > モデルの関連性 > メインモデルに、"アカウント(juser)" を指定します。

サブモデルの設定(1)

juser_sub モデルは、juser モデルのサブモデルになりました。

サブモデルの設定(2)

詳細画面でプリンシパルを表示させる8.5.9

特別なパーミッションを用意することで、詳細画面でのみ「プリンシパル」項目を表示させることができます。

権限タブを開きます。

プリンシパル表示権限の設定(1)

パーミッションを追加します。

プリンシパル表示権限の設定(2)
プリンシパル表示権限の設定(3)

次のパーミッションを指定してください。

パーミッション名(日本語) パーミッション名(英語)
プリンシパル p_jusersub
プリンシパル表示権限の設定(4)

表示の制約

この設定を行っても、詳細画面以外(登録や更新画面など)では「プリンシパル」は表示されません。「プリンシパル」の割り当てはサブモデルではなく、システム管理者が行う運用としてください。

動作

ビルドしたアプリケーションを確認します。"スタッフ" というモデル名ですが、実際のデータは juser モデルを参照しています。

juser_subモデルの動作確認(1)
juser_subモデルの動作確認(2)