4D v14.34D データベースの設定 |
||
|
4D v14.3
4D データベースの設定
4D データベースの設定
セキュリテイ上・パフォーマンス上の理由から、4D Mobile (Wakanda server) 要求を使用しての4Dデータベースのテーブル、データ、そしてメソッドへの接続は、有効化され、明示的に認証されている必要があります。そのためには3段階のアクセスの設定をしなければなりません:
デフォルトとして、4D Server は4D Mobile 要求には反応しません。Wakanda/4Dコネクターの設定ができるようにこれらの要求が処理されるようにするためには、4D Mobile サービスを有効化する必要があります。 注: 4D Mobile サービスは 4D HTTP サーバーを使用します。そのため、4D Webサーバーまた4D Serverが開始されていることを確認して下さい。 4D Mobile サービスを有効化するためには以下の手順に従って下さい:
4D Mobile 接続の管理とは、Wakanda リクエストの後に、4D側でそのセッションを開くかどうかの認証をするということです。 Wakanda 4D Mobile アクセスの一部としてチェックされる識別子は、以下によって実行された接続リクエストの際に送信された名前とパスワードです:
包括的に4D Mobile接続を管理する方法は二つあります:
これらの管理モードはどちらかしか選ぶことができません。On 4D Mobile Authentication データベースメソッドが定義されていた場合、4Dパスワードによる自動アクセス管理は無効化されます。 警告:もしこれら二つの管理モードがどちらも有効化されていなかった場合、4D Mobile を通してのデータベースへのアクセスは常に受理されます(これは推奨されません)。 4D では、Wakanda アプリケーションから4D サーバーへのリンクを設定できる4Dユーザーのグループを指定することが出来ます。
グループの指定が終わると、そのグループに所属するユーザーのみがWakanda リクエストを通して4Dへとアクセスできるようになり、4D Server上で例えば mergeOustideCatalog() メソッド等を使用してセッションを開くことができるということです。このグループに所属していないアカウントの場合は、4Dはリクエストの送信者に対して認証エラーを返します。 この設定を有効にするために以下の点に注意して下さい:
On 4D Mobile Authentication データベースメソッドを使用することによりWeb Serverエンジンに送られた4D Mobile 接続のアクセス権を自在に管理できるようになります。メソッドが定義されると、サーバーが4D Mobile リクエストを受けた時に4D または4D Serverから自動的に呼び出されます。 Wakanda Serverから4D Mobile セッションを開くリクエストが来ると(一般的なケース)、接続の識別子がリクエストのヘッダーに供給されます。続いて On REST Authentication データベースメソッドが呼ばれこれらの識別子を評価します。4D データベースのユーザーのリストを使用することもできますし、独自の識別子のテーブルを使用することもできます。 詳細な情報に関しては、4D Language Reference の On 4D Mobile Authentication データベースメソッドの詳細を参照して下さい。 Wakanda 4D Mobile サービスが4D データベース内で有効化されると、デフォルトで4D Mobile セッションは全てのテーブルとフィールドにアクセスすることができ、またそのデータを使用することが出来ます。例えば、あるデータベースに[Employee]というテーブルがあった場合、Wakanda Server側で以下の様に記述することでデータを取得することができます: var emp=ds.Employee.query("name == 'Martin'"); //名前のフィールドが`Martin`である従業員の全データを返します。 Note: 「非表示」のオプションにチェックがされている4D のテーブル/フィールドに関しても、4D Mobile へと公開されます。 さらにWakandaサーバーは4D データベースのプロジェクトメソッドにアクセスることもできます。しかしながら、セキュリティ上の理由からこのアクセスはデフォルトでは無効化されています。 データベースのオブジェクトの4D Mobile への公開をカスタマイズしたい場合は:
4D Mobile リクエストが認証されていないリソース(テーブルまたはプロジェクトメソッド)にアクセスをしようとした場合、4Dはエラーを返します。 デフォルトでは、全てのテーブルは4D Mobileサーバーに公開されています。 セキュリティ上の理由からデータベースの一部のテーブルのみ4D Mobileサーバーに公開したいという場合があるかもしれません。しかし、ユーザー名とパスワードを記録した[Users]というテーブルを作成していた場合は、これは公開しない方がよいでしょう。 テーブルの4D Mobile サーバーでの公開は以下の手順で修正します:
デフォルトでは、4Dフィールドは全て4D Mobile サーバーで公開されています。 しかしテーブル内のフィールドのうち、4D Mobile サーバーで公開したくないものもあるでしょう。例えば、[Employees]というテーブルの給料のフィールドなどは公開したくないかもしれません。 フィールドごとの4D Mobile 公開については以下の様に修正します:
フィールドが4D Mobileで公開すためには、テーブルも同様に公開されてなければならないことに注意して下さい。親のテーブルが公開されていないとき、その中のフィールドは公開状態に関係なく非公開になります。これを利用して、テーブルの4D Mobileでの公開設定を選択することにより、個々のフィールドの4D Mobileサービスで公開の設定を変えることなく公開/非公開を切り替えることが出来ます。 デフォルトではどのプロジェクトメソッドも4D Mobile では公開はされていません。 しかし、場合によっては一部のプロジェクトメソッドを4D Mobile に公開したいことがあるかもしれません。そのためには適切なオプションを選択し、メソッドのWakanda 実行コンテキストを定義する必要があります。 Note: 4D メソッドにアクセスグループが関連付けられている場合、4D Mobile のグループがこのグループに含まれている必要があります。プロジェクトメソッドの4D Mobile 公開は以下の様に設定します:
4D Mobile リクエストを介して使用可能なプロジェクトメソッドを宣言するとき、その呼び出しコンテキストをテーブルとスコープを通じて明示的に宣言する必要があります:
警告: 4D側でプロジェクトメソッドの公開設定やスコープの設定を変更した場合、Wakanda側でリモートモデルをリロードしてこれらの変更を有効化する必要があります。 4D Mobile サービスが有効化されているとき、4D Mobile に公開されているテーブルとそれに関連付けられているプロジェクトメソッドはの一覧は、4Dエクスプローラー内の4D Mobile メソッドのセクションに表示されます: |
プロパティ
プロダクト: 4D 参照 ARTICLE USAGE
4D Mobile ( 4D v14 R3) Inherited from : 4D データベースの設定 ( 4D v14 R2) |