1

次のことを効率的、安全に、そして過度の複雑さのために髪を引き裂くことのない方法で行う方法について疑問に思っています:フォーム認証を使用するASP.Netサイトがあり、いくつかのWCFRestfulWebサービスを実装したいと考えていますそれらを呼び出すユーザーが認証されている場合は、最初のサイトから呼び出すことができます。

ASP.Netサイトとは別のWebサイトでWCFRESTfulサービスをホストしたいと思います。両方のサイトは同じドメイン(たとえば、my-domain.com)にあります。

私はWCFのさまざまなバインディングを読んでいますが、webHttpBindingsがここに行く方法かどうかわかりません(RESTに最も適していますが、フォーム認証されたユーザーに対応できますか?)

私はコードと同じくらい多くの提案と参照を探していますが、どこから始めて何を探すべきか、何が可能で何が不可能かを知りたいです。

WCF認証について読むたびに、WS-SecurityとX509証明書についての議論に必然的に影響を与えるように思われますが、私がしていることにそれがすべて必要かどうかはわかりません。私が本当に構築しようとしているのは、フォーム認証されたユーザーにのみ応答する一連のWCFRESTfulサービスです。WS-SecurityとX509を深く掘り下げなければそれが不可能な場合はそうですが、可能な限りシンプルにしたいと思います。

注:約1か月前に似たような質問をしましたが、フォーム認証を使用することにしました。

4

2 に答える 2

0

ブラウザからWCFサービスを呼び出さない場合は、それらを保護する必要はありません。ASPXコードから、WCFをホストする非公開サイトに呼び出すだけです。または、サーバー間モードでX509証明書を使用します。

ブラウザからそれらを呼び出すことを計画している場合、物事はより複雑になります。この場合、WCFを廃止し、MVC4ベータリリースに含まれているWebAPIを使用して、RESTサービスを構築することをお勧めします。

http://www.asp.net/web-api

于 2012-06-06T18:05:03.080 に答える
0

コードビハインドからJavaScriptを生成します。Page.User.IsAuthenticatedの場合、ajaxスクリプトをレンダリングします。そうでない場合は、ログインする必要があることをユーザーに警告するjavascriptをレンダリングします。ユーザーがブラウザーソースからjavascriptを切り取って後で実行したくない場合は、認証されていないときに、サイトとサービスの間で受け渡すことができるセッションIDに基づくトークン。

于 2012-06-21T13:26:08.437 に答える