ユーザーへの動的な権限付与

Deeplからの自動翻訳

あなた自身のエンドユーザー管理システムを使用する能力と SET USER ALIASコマンドに続いて、複数の4Dユーザーアカウントを作成せずに、エンドユーザーのパーミッションを管理する方法を知りたいと思うかもしれません。この機能リリースには、その答えがあります。

4D開発者は、しばしばエンドユーザーを独自のディレクトリシステムで管理する必要があります例えば、LDAPやSSOを使用して内部開発から外部まで)。一つの解決策は、権利の数だけ4Dユーザーアカウントを作成し、次から次へと切り替えていくことでした。

4D v18 R4では、グループとユーザーの権限を動的に設定することで、より直感的に操作できるようになりました。

最も簡単な方法は、グループのメンバーシップを持たないデフォルトのユーザーアカウントを作成することです。

その後、管理したい権利ごとにグループを作成します。

blank

実行時に、あなたはまだ SET USER ALIASコマンドを使用してユーザー名を設定し、データベース内のどこにでも表示されるようにすることができます。

新しいコマンドSET GROUP ACCESS を使えば、グループメンバーシップを動的に設定することもできます。

なお、この2つのコマンドはサーバー側では使用できません。

以下は、カスタム・ユーザー認証後にリモート・クライアントで実行されるコード・サンプルです。

// Set my own user field as alias
SET USER ALIAS([MyUserTable]Name)

// Set user groups following rights
C_COLLECTION ($userGroups)
$userGroups :=New collection
If([MyUserTable]4DWriteProAccess)
$userGroups .push("4D Write Pro")
End if
If ([MyUserTable]4DViewProAccess)
$userGroups .push("4D View Pro")
End if
SET GROUP ACCESS ($userGroups)

必要であれば、現在のユーザーグループのアクセス権を「なし」に設定することもできます。

SET GROUP ACCESS(New collection)

現在のユーザーグループのアクセス権を、ディレクトリファイルに保存されている方法にリセットすることができます。

SET GROUP ACCESS

新しいGet group access コマンドを使用すると、現在のグループ メンバーシップを取得できます。

SET GROUP ACCESS(New collection("4D View Pro"; "4D Write Pro"))

$collection :=Get group access
// $collection contains ["4D View Pro", "4D Write Pro"]
// 与えられたグループアクセスは、すべてディレクトリファイルに保存されたグループアクセ スに影響します。

与えられたグループアクセスは、ユーザー/グループディレクトリに影響を与えません。

今度は、あなたがそれを試してみる番です。ユーザーとグループをダイナミックに管理…思いのまま!

Avatar
- プロダクトオーナー - Damien Fuzeauは、2019年2月に4D Productチームに参加しました。プロダクトオーナーとして、ユーザーストーリー(ユーザーが期待する新機能とその使用法)を書き、それを具体的な機能仕様に変換することを担当しています。また、実装された機能が顧客のニーズを満たしているかどうかを確認することも彼の役割です。ナント大学のソフトウェア工学科を卒業。前職の会社では最初は開発者として(1997年に4Dを発見)、後にエンジニアリングマネージャーとソフトウェアアーキテクトとして、23年以上勤務しました。この会社は、4DのOEMパートナーであり、現在は数千のユーザーと数百のサーバーに向けて4Dベースのビジネスソフトを展開しています。ですから、Damienは、多言語環境での4D開発・導入に慣れています。