Data.DB.TCustomConnection.LoginPrompt
Delphi
property LoginPrompt: Boolean read FLoginPrompt write FLoginPrompt default False;
C++
__property bool LoginPrompt = {read=FLoginPrompt, write=FLoginPrompt, default=0};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | public | Data.DB.pas Data.DB.hpp |
Data.DB | TCustomConnection |
説明
新しい接続が開かれる直前にログイン ダイアログが表示されるかどうかを指定します。
LoginPrompt を True に設定すると、接続の確立時にログイン サポートが提供されます。LoginPrompt で 2 つの事が制御されます。つまり、OnLogin イベントの発生と、ユーザーにユーザー名とパスワードの入力を促すデフォルト ログイン ダイアログの表示です。ログイン ダイアログをリンクするには、次のようにします。
- 非 FireDAC アプリケーションの場合は、お使いのユニットに DBLogDlg.hpp をインクルードする(C++ の場合)か、お使いの uses 句に DBLogDlg を追加します(Delphi の場合)。
- FireDAC アプリケーションの場合は、TFDGUIxLoginDialog コンポーネントを使用します。
OnLogin イベントが発生するタイミングとデフォルト ログイン ダイアログが表示されるタイミングは、次のように、接続コンポーネントの種類によって異なります。
- TIBDatabase、TSQLConnection、TFDConnection の場合は、OnLogin イベントのハンドラを用意しない限り、BeforeConnect イベントの後でかつ AfterConnect イベントの前にダイアログが表示されます。
- OnLogin イベントのハンドラがある場合は、ログイン ダイアログの代わりにそのイベントが発生するので、ログイン ダイアログをリンクする必要はありません。
- ユーザー名とパスワードの正しい値がダイアログまたは OnLogin イベントのハンドラで入力されない場合、接続は失敗します。LoginPrompt が True に設定されていない限り、OnLogin イベントは発生しません。
- TADOConnection コンポーネントの場合は、OnWillConnect イベントの後でかつ BeforeConnect イベントの前にダイアログが表示されます。
- OnLogin イベントのハンドラがある場合は、ログイン ダイアログの後にそのイベントが発生します。
- お使いのユニットに DBLogDlg.hpp をインクルードしない場合(C++)や、お使いの uses 句に DBLogDlg を追加しない場合(Delphi)は、OnLogin イベントは発生しますが、デフォルト ログイン ダイアログは表示されません。
- ユーザー名とパスワードの正しい値がダイアログまたは OnLogin イベントのハンドラで入力されない場合、接続は失敗します。LoginPrompt が True に設定されていない限り、OnLogin イベントは発生しません。
- DataSnap SOAP 接続コンポーネントの場合は、OnGetUsername イベントの後でかつ BeforeConnect イベント、AfterConnect イベント、OnLogin イベントの前にダイアログが表示されます。ログイン ダイアログでユーザーがキャンセルした場合は、接続は開かれません。
LoginPrompt が False の場合は、アプリケーションのプログラムで、次のように、ユーザー名とパスワードの値を指定する必要があります。
- TADOConnection の場合は、ユーザー名とパスワードを ConnectionString プロパティとして指定できます。
- TSQLConnection の場合は、ユーザー名、パスワード、データベースを Params プロパティ内の UserName、Password、Database の各パラメータとして、または、接続名に関連付けられた接続パラメータとして指定できます。
- DataSnap SOAP 接続コンポーネントの場合は、ログイン ダイアログで入力されるユーザー名とパスワードは本来使用されません。なお、TWebConnection の UserName プロパティと Password プロパティは無関係です。
- TFDConnection の場合は、ユーザー名とパスワードを Params プロパティ内の User_Name および Password パラメータとして、または、接続定義に関連付けられたパラメータとして指定できます。
警告: ハードコードされたユーザー名およびパスワードをプロパティ値として格納したり OnLogin イベント ハンドラのコードに記載すると、サーバーのセキュリティが脅かされるおそれがあります。