3

PasswordBox コントロールに関連するすべてのセキュリティでこれが可能かどうか疑問に思っています。

ユーザーがデータベース アクセスを構成する XAML フォーム (C#/WPF) があります。そのフォームでは、PasswordBox を使用して SQL Server ユーザーのパスワードを取得しています。

このデータは将来の使用のために (パスワードで保護された SQL Server CE データベース ファイルに) ディスクに保存されるため、最初の実行時にはパスワードが設定されていません。ユーザーが戻ってきて何らかの理由で SQL 接続を編集する必要がある場合は、以前の構成から保持されたパスワードである可能性があります (SQL ユーザー認証ではなく Windows 認証を使用した場合を除く)。

したがって、最初の実行時に空の PasswordBox を表示したいのですが、既にパスワードが設定されている場合、ユーザーが戻ったときに X 個の「*」を表示したい (パスワードが設定されていることを示すために.

PasswordBox.Password はバインド可能ではないため、常に空で表示するか、常に一定数の「*」を表示するかを選択することしかできません (実際のパスワードを実際には表さないデフォルトのパスワードを設定することによって)。

代替手段はありますか(もちろんバインディングを挿入するPasswordBox Helperのようなものに加えて-MSがSecureStringにもバインド可能にしないことを選択することを考慮していない理由があるかもしれないので、そのパスには行きたくないです) ?

4

2 に答える 2

5

ファイルからパスワードを読み取ることができます。

//Storing the Password in String.
string pwd = "Password Read from the file";
PasswordBox.Password = pwd;

そのため、アプリケーションが初めて開かれ、ファイルにパスワードがない場合、空の PasswordBox が表示されます。また、パスワードがユーザーによって既に設定されている場合、パスワードはファイル内にあり、PasswordBox にロードされます。

于 2015-08-20T01:29:24.927 に答える