2

シナリオから始めたいと思います。可能な限り相互運用可能な WCF サービスを作成しました。つまり、3 つのエンドポイントがあります。1 つは wsHttpBinding (SOAP) を使用し、後で証明書をセットアップするときにトランスポート セキュリティを使用します。そこにもトランスポート セキュリティを追加したい XML メッセージ。

これらのエンドポイントが、文字列を受け取って返す簡単なサンプル メソッドで動作するようになったので、選択する必要がある認証システムを理解する必要があります。

メインのクライアント アプリケーションは ASP.NET MVC アプリです。ここでは、ASP.NET メンバーシップ プロバイダーを使用して、クライアント アプリケーション内で認証と承認を行い、WCF 要求でそれらの資格情報を使用できれば幸いです。私はそれを行うことができましたが、現在は他のシステム ベンダーが (少なくとも今のところ) Android および iOS モバイル デバイスの設計に参加しています。幸いなことに、REST エンドポイントを使用して、適切に消費および処理したいデータに使用できます。REST エンドポイントを介した認証ではどうなりますか? ASP.NET メンバーシップ プロバイダーをそのままの状態で WCF に使用して、要求を自動的に処理することはできませんか?

私の最初の質問は、どうにかして両方を組み合わせることができるかということです。そのようなシナリオを実装したベストプラクティスを持っている人はいますか? カスタム認証システムを使用する必要がありますか? 内部からメンバーシップ API を使用して、データベースへのすべての呼び出しを認証する必要がありますか? REST では得られない質問が他にもたくさんあります...資格情報はすべてのメッセージ ヘッダー リクエストに含まれていますか?

もう 1 つ頭に浮かぶのは、2 つの異なるサービス (MVC アプリ用に 1 つ、REST XML 用に 2 つ、リクエストごとにデータベースに対して JSON 認証を行う) を作成することですが、これは保守可能な悪夢だと思います。

あなたはアイデアを得ます、どんな提案や考えも大歓迎です!

ありがとうございました。

4

1 に答える 1

1

ServiceStackを試してみませんか。すべてのロジックをサービスにプッシュすると、クライアントは、 angularjsなどのお気に入りのjsライブラリを使用したシングルページアプリケーションになります。ここhttp://razor.servicestack.net/で見つけることができる完全な例。

また、OAuthおよびフォームベースの認証用にすぐに使用できる認証もサポートしています。ただし、これ以上利用できるものはほとんどありません。

なぜWCFではないのですか?複数の理由があります。WCFは優れており、ほとんどのユースケースでは必要のない多くのことを実行します。また、Servicestackは、ロジックがサーバー上にあるこのタイプのシナリオで簡単に使用できます。デフォルトでは、REST、SOAP 1、SOAP 2、JSON、JSV、XMLなどをサポートしています。ジャンプスタートを提供します。また、Monotouchを使用したServicestackの例もあるため、アプリケーションはiOSで実行されます。また、servicestackは、他にも多くの機能を提供します。サイトにアクセスして、さらに詳細が必要な場合はお知らせください。

于 2013-02-26T06:06:01.507 に答える