私の店には小さなPOSシステムがあり、新しいアプリを作成してラップトップにインストールしたいのですが、問題は遠く離れた場所でもデータベースにアクセスする方法です。インターネット経由でアクセスできるようにデータベースをどこにアップロードできますか?
MySQLとC#のWindowsフォームアプリケーションを使用しています。
あなたの問題は、実際のコードベースの問題よりもシステムアーキテクチャの周りに聞こえます。
外出中にPOSデータベースにアクセスしたい場合は、いくつかの解決策があります。
VPN /トンネルを使用すると、物理的に建物の外にいる場合でも、内部ネットワークに安全にアクセスできます。ただし、これはセットアップが難しい場合があります。
私が実際にお勧めする解決策は、DBをクラウドに配置し、DBポートが外部に対して閉じられていることを確認することです。データベースからデータを取得する場合は、データベースと同じマシンでホストされているMVCWebサービスアプリケーションを介して取得します。このようにして、カスタムアプリケーションロジックを使用してデータベースへのアクセスを制御できます。
それで、これが実装されたらどのように機能するか想像してみましょう
JSONRestリクエストをエンドポイントに送信します。
https://example.com/POSAPI/GetTransactions
{
"SessionToken:"j9hf928hjo2ij09kr8023",
"FromDate":"20-02-2018",
"ToDate":"29-02-2018",
"AmountToReturn":"45"
}
次に、指定したSessionTokenに基づいて認証します。この値は、5分間ユーザーを認証します。
エンドポイントからの応答は、FromDateとToDateの間に発生した45のトランザクションを送り返します。
ほとんどの人は、C#アプリケーションがクライアントベースのアプリケーションである場合、データベースに直接アクセスしてはならないことに同意します。C#アプリケーションは、保存されたクレデンシャルを取得するために簡単に分解できます。データベースアクセスの多くをWebベースのAPIに制限し、そのAPIを介したデータのフローとアクセスを制御することをお勧めします。
これは学習曲線であり、あなたが望んでいた最も単純な解決策ではないかもしれませんが、ほとんどの人は、データベースへの直接アクセスは通常セキュリティリスクであり、データベースと対話するためのAPIの使用は一般的にベストプラクティス。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加