4D v14.3On 4D Mobile Authentication データベースメソッド |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
On 4D Mobile Authentication データベースメソッド
On 4D Mobile Authentication データベースメソッド
On 4D Mobile Authentication データベースメソッド は4D Mobile セッション(REST経由) を開くのを管理するための方法を提供します。このデータベースメソッドは主に Wakanda Server と4D v14との接続を設定するときにそれをフィルタリングするのが主な目的です。 Wakanda Server から mergeOutsideCatalog() メソッドを使用して4D Mobile セッションを開くリクエストが来ると(一般的なケース)、接続の識別子がリクエストのヘッダーに供給されます。続いて On 4D Mobile Authentication データベースメソッド データベースメソッドが呼ばれこれらの識別子を評価します。4D データベースのユーザーのリストを使用することもできますし、独自の識別子のテーブルを使用することもできます。
重要: On 4D Mobile Authentication データベースメソッド が定義される(つまり中にコードが記述される)と、4D は4D Mobile リクエストの管理をそちらに全て一任します。このとき、データベース設定のWeb/4D Mobile ページ内の「読み込み/書き出し」メニューで設定した内容は、無視されます(Design Reference マニュアルを参照して下さい)。 このデータベースメソッドは二つのテキスト型の引数($1 と $2)と一つのブール型の引数($3)を4Dから受け取り、ブール型の引数 $0 を返します。これらの引数は以下の様に宣言されている必要があります。 $1 には接続に使用したユーザー名が入り、 $2 にはパスワードが入ります。 リクエストに使われるモードにより、パスワード ($2) は標準テキストまたはハッシュ値で受け取る事が可能です。このモードは $3 引数によって指定され、適切に処理することができます:
REST接続リクエストがWakanda Serverから来るときは、パスワードは必ずハッシュ値で送られてきます。 リクエストがブラウザや Wakanda 以外の Web クライアントから送られてくる場合、デベロッパが責任を持って "username-4D" フィールドと "password-4D" フィールドを HTTP ヘッダーに含めることによってオリジナルのHTML/JavaScript ページからの認証を管理して下さい。この場合、パスワードは4D REST サーバーに標準テキストで送られてなければなりません(サードパーティからの干渉のリスクを避けるためにSSLを使用して下さい)。 [#/note] 4D Mobile 接続の識別子は、データベースメソッド内でチェックしなければなりません。通常、ユーザー独自のテーブルを使用して名前とパスワードをチェックします。もし識別子が有効であるなら、 $0 にTrue を渡します。すると、リクエストが受理されます。4Dはこのリクエストを実行して結果をJSON形式で返します。 ユーザーがデータベースの4Dユーザーのリストの中に載っているとき、以下のコードによってパスワードを直接チェックすることができます: $0:=Validate password($1;$2;$3) Validate password コマンドは拡張され、第一引数にユーザー名、第二引数にパスワードを渡し、任意の第三引数でパスワードがハッシュド形式で書かれているかどうかを指定できるようになりました。 4D データベースのものとは別の独自のユーザーリストを使用したい場合、そのユーザー達のパスワードを、Wakanda Server が On 4D Mobile Authentication データベースメソッド データベースメソッドに接続リクエストを送る時のアルゴリズムと同じものを用いてハッシュ形式にて$2 引数に保存することができます。 この方法を使用してパスワードをハッシュする場合、以下の様に記述して下さい: $HashedPasswd :=Generate digest($ClearPasswd ;4D digest) Generate digest コマンドにはハッシュアルゴリズムとして 4D digest を受け取れるようになりました。これは4Dのパスワードの内部管理で使用されているメソッドと対応しています。 この例題ではパスワード "123"を使用する、4Dユーザーと合致しない "admin"というユーザーのみを受け入れる場合を考えます: //On 4D Mobile Authentication database method 以下の On 4D Mobile Authentication データベースメソッド の使用例は、接続リクエストが4D データベースのユーザーに保存されている二つの認証済みの Wakanda サーバーのどちらかから来ていることをチェックします: C_TEXT($1;$2) |
プロパティ
プロダクト: 4D
履歴
ARTICLE USAGE
ランゲージリファレンス ( 4D v14 R2) Parent of : On 4D Mobile Authentication database method ( 4D v14 R3) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||