サーバー設定
4D の RESTサーバーは、標準の HTTPリクエストを用いて外部アプリケーションがアプリケーションのデータにアクセスすることを可能にします。つまり、プロジェクトのデータクラス情報を取得したり、データを操作したり、Webアプリケーションにログインしたり、といったことが可能です。
REST機能を使い始めるまえに、まずは 4D REST サーバーの設定をおこない、これを起動させる必要があります。
- 4D Server上では、開かれる RESTセッションにつき、4D Client ライセンスが1消費されます。
- シングルユーザーの 4D では、テスト目的で RESTセッションを 3つまで開くことができます。
- リクエストをおこなうアプリケーションの セッション は別途管理する必要があります。
RESTサーバーを開始する
セキュリティ上の理由により、デフォルトでは、4D は RESTリクエストに応答しません。 RESTサーバーを開始し、RESTリクエストを処理するには、ストラクチャー設定の "Web > RESTリソース" ページにて RESTサーバーとして公開 オプションを有効化する必要があります。
RESTサービスは 4D の HTTPサーバーを使用するため、4D Webサーバーが開始されていることを確認してください。
このオプションが有効化されると、「警告: アクセス権が正しく設定されているか確認してください。」という警告メッセージが表示されます。これは REST接続の認証設定がされていない限り、デフォルトではデータベースオブジェクトに自由にアクセスできてしまうためです。
変更を反映するには、4Dアプリケーションを再起動する必要があります。
アクセス権の設定
デフォルトでは、REST接続はすべてのユーザーに対してオープンですが、この状態はライセンス管理上もセキュリティ上も推奨されません。
REST接続は次の方法で制限することができます:
- ストラクチャー設定の "Web > RESTリソース" ページにて、RESTサービスに割り当てる 読み込み/書き出し ユーザーグループを設定します;
On REST Authentication
データベースメソッドに、RESTの初期リクエストを処理するコードを書きます。
上に挙げた 2つの方法を同時に使用することはできません。
On REST Authentication
データベースメソッドを定義した場合、4D は RESTリクエストの処理を同メソッドに委ねます。つまり、ストラクチャー設定の "Web > RESTリソース" ページにて指定した "読み込み/書き出し" の設定は無視されます。
ストラクチャー設定を使用する
ストラクチャー設定の "Web > RESTリソース" ページにある 読み込み/書き出し 設定は、RESTクエリを使って 4Dアプリケーションへのリンクを設立することのできる 4Dユーザーのグループを指定します。
デフォルトでは、メニューには \<Anyone>
が選択されています。 これは、REST接続はすべてのユーザーに対してオープンであるという状態を示しています。 グループを指定すると、そのグループに所属する 4Dユーザーアカウントのみが RESTリクエストを通して 4D にアクセス できるようになります。 このグループに所属していないアカウントの場合、4D はリクエストの送信者に対して認証エラーを返します。
この設定を使用するには、
On REST Authentication
データベースメソッドを定義してはいけません。 これが定義されている場合は、ストラクチャー設定にて指定したアクセス設定は無視されます。