スタンドアロンのデスクトップ アプリケーションを使用してオンライン データベースにアクセスする最も安全な方法はどれですか? セキュリティ上の理由から、ローカル データベースを使用することをお勧めします。しかし、デスクトップ アプリケーションを更新しなくても更新できるように、Web アプリとデスクトップ アプリで同じオンライン データベースを共有する必要があります。
私は .net 4 フレームワークと c# を使用しています。
スタンドアロンのデスクトップ アプリケーションを使用してオンライン データベースにアクセスする最も安全な方法はどれですか? セキュリティ上の理由から、ローカル データベースを使用することをお勧めします。しかし、デスクトップ アプリケーションを更新しなくても更新できるように、Web アプリとデスクトップ アプリで同じオンライン データベースを共有する必要があります。
私は .net 4 フレームワークと c# を使用しています。
要件は実装を決定し、多くの場合、要件は何が「最善」かを除外します。最高は理想です。時には仕事を終わらせなければならないこともあり、約 75% の確率で "かなり良い" が "最高" よりも優れています。複数のアプリケーションが同じデータにアクセスする必要がある場合は、ローカル DB を既に除外しています。一般的に言えば、実際には悪くないレプリケーション設定を使用する意思がない限り、これはオプションではありません ( http://msdn.microsoft.com/en-us/library/ms151198.aspx )。
ネットワーク上で本格的な SQL Server インスタンスを使用する場合、セキュリティ オプションは条件付きです。イントラネットまたはインターネット? 誰もが Windows または Linux/Unix または Mac のフレーバーを使用していますか? 社内で全員が Windows を使用している場合は、Windows 統合を使用します。これは、デスクトップ アプリと Web アプリで使用できます。非常に堅牢で、独自のセキュリティ コードをロールする必要はありません。人々がどこからでも来る場合は、コーディングしてテーブルにアクセスし、パスワードを暗号化することをお勧めします。それらをプレーンテキストで保存しないでください。それがインターネット経由であり、世界中の誰もが外向きの Web アプリを使用してアクセスできる場合、Microsoft にはオプションもあります。何よりもまずアプリを保護してから、データベースを保護します。便利なオプションについては、これを解析してください: http://msdn.microsoft.com/en-us/magazine/cc301387。
なぜそれが必要なのかは明確ではありませんが、SQL Server は暗号化された接続のために SSL をサポートしています。詳細については、SQL Serverへの接続の暗号化を参照してください。