2012-01-09 17 views
1

私は、WCFを使用し、Silverlight、WP7、およびAndroidデバイスの両方に対してWebサービスを提供するWebサービスのセキュリティを確保することが任されています。WCF Webサービスをセキュリティで保護するAndroidとSilverlightとの互換性を維持する

私はSSLを有効にし、Webサービスに認証/承認のフォームを追加する必要があると考えています。

私はweb.configとIISでWindows認証を有効にすることができます。これは自動的に認証用にPCのログインを使用します。しかし、イントラネット以外のデバイス、特にAndroidデバイスを使用しているときに、これが適切なソリューションであるかどうかはわかりません。私は、私たちのチームのAndroid開発者がこの認証方法を使用して進歩しないように設定したくありません。 Androidでこれを行うのは簡単ですか?

私はセキュリティを追加するときに、に<transport clientCredentialType="Windows"と追加するのは簡単だが、customBindingでは機能しないことが分かった。それらとは異なる何かがありますか?

答えて

2

私は自分のアプリケーションと非常によく似た何かをしています。アンドロイド側では、このデバイスにMobileUserId(この場合はGuid)を送信し、ユーザーを一意に識別します。これはセッションにのみ保存されます。そこから、サービスへの各呼び出しでも、このGuidが有効であることが必要です。セキュリティのため

、あなたのweb.configはこれらを持っている必要があります。

<service name="Service.System" behaviorConfiguration="ServiceBehaviour"> 
<endpoint address="" binding="webHttpBinding" bindingConfiguration="TransportSecurity" contract="Service.ISystem" behaviorConfiguration="web"></endpoint> 
</service> 

<bindings> 
<webHttpBinding> 
<binding name="TransportSecurity"> 
<security mode="Transport"> 
<transport clientCredentialType="None"/> 
</security> 
</binding> 

あなたがGuid、またはJavaでUUIDのようなものを使用しないことを選択した場合でも、あなたはまだ、ユーザー名/パスワードを渡すためにいくつかの方法が必要になりますアンドロイドデバイスからの組み合わせ - Windows認証では機能しません。

また、おそらくRESTまたはSOAPを調べる必要があります。私はRESTがはるかに使いやすくなることを発見したので、私はそれに賛成する。

関連する問題