ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
|||||||||||||||||||
|
4D v20 R7
On SQL Authenticationデータベースメソッド
|
引数 | 型 | 説明 |
$1 | テキスト | ユーザ名 |
$2 | テキスト | パスワード |
$3 | テキスト | (オプション) リクエスト元のクライアントのIPアドレス(*) |
$0 | ブール | True = リクエストを許可, False = リクエストを拒否 |
(*) 4DはIPv4アドレスを、96-bitの接頭辞付きのハイブリッド型のIPv6/IPv4フォーマットで返します。例えば、ffff:192.168.2.34は、192.168.2.34というIPv4アドレスを意味します。詳細な情報については、IPv6のサポートの章を参照して下さい。
以下のようにこれらの引数を宣言しなければなりません:
` On Web Authentication データベースメソッド
C_TEXT($1;$2;$3)
C_BOOLEAN($0)
` メソッドコード
標準テキストとして、パスワード($2)を受け取ります。
On SQL AuthenticationデータベースメソッドでSQL接続の識別子を確認します。例えば、ユーザのカスタムテーブルを使用して名前とパスワードをチェックします。識別子が有効な場合は、$0にTrueを返して接続を受け入れます。その他の場合は$0に、Falseを返して接続が拒否されます。
Note: On SQL Authenticationデータベースメソッドが存在しない場合、4Dの統合されたユーザ管理システムを使用 して、接続を決定します (有効になっている場合、つまりDesignerにパスワードが割り当てられている場合)。このシステムが起動していない場合、ユーザはDesigner アクセス権 (フリーアクセス) で接続されます。
$0にTrueを渡す場合、リクエストを受け入れ、ユーザのためにSQLのセッションを開くためには、On SQL AuthenticationデータベースメソッドでCHANGE CURRENT USER コマンドを呼び出し、その実行が成功しなければなりません。
CHANGE CURRENT USER コマンドは、仮想の認証システムを実行するために使用されます。この認証システムには、2つの利点があります。1つは接続動作をコントロールできること。もう1つは4DのSQLセッションで接続の識別子を外部から見えないようにします。
以下の例でOn SQL Authenticationデータベースメソッドは、接続リクエストが内部ネットワークからのものであることを確認し、識別子を検証、SQLセッションへのアクセス権に"sql_user" ユーザを割り当てます。
C_TEXT($1;$2;$3)
C_BOOLEAN($0)
`$1: user
`$2: password
`{$3: IP address of client}
ON ERR CALL("SQL_error")
If(checkInternalIP($3))
`checkInternalIPメソッドはIPアドレスが内部のものか確認します。
If($1="victor") & ($2="hugo")
CHANGE CURRENT USER("sql_user";"")
If(OK=1)
$0:=True
Else
$0:=False
End if
Else
$0:=False
End if
Else
$0:=False
End if
プロダクト: 4D
テーマ: SQL
ランゲージリファレンス ( 4D v20 R7)