ソケットを使用してステートフルな方法で情報を転送するクライアント サーバー プログラムがあります。つまり、接続は永続的であり、ソフトウェア自体に組み込まれた公開鍵と秘密鍵を使用して認証されます。それはうまく機能し、非常に効率的ですが、私がセットアップした全体的なフレームワークでは、何か新しいものを追加するのは長いプロセスになるため、Web サービスに移行したいと考えています。ある時点で証明書を取得して SSL を使用する予定ですが、現時点では、ユーザーがしようとしていることを実行するためにユーザーが認証されていることを確認することだけを考えています。
元のスキーマでは、ユーザーは最初にユーザー名とパスワードを入力し、サーバーは接続の存続期間中、ユーザーが誰であるかを単純に記憶していました。ステートレス Web サービスに移行したので、おそらくすべての要求でこの情報を渡す必要があります。私は Web サービスにかなり慣れていないので、ネットを検索したところ、これを行う方法について 2 つの提案が見つかりました。1 つは各関数呼び出しで認証オブジェクトを送信するだけで、もう 1 つはユーザー名とパスワードの情報を SOAP ヘッダーに挿入することでした。どちらの方法でも、サーバー側で文字列の比較を行っているだけなので、どちらがうまく機能するかについて少し混乱しています(パスワードの場合は、ハッシュしてから比較します)。
また、これはクライアント側がWPFアプリですが、将来的にはブラウザ対応版を作りたいと思っています。これをどのように行うかについての私の決定は、今後の Web の取り組みに影響しますか? 考え!
編集:アクセスにはいくつかのレベルがあることに言及する必要があります。下位レベルは特定の機能にのみアクセスできますが、最上位レベルはそれらすべてにアクセスできます。これは関数自体で確認する必要があると思いましたが、これを簡単に処理する方法が組み込まれている場合は、すべて耳にします。