MSDNに記載されているように
WCF Data Servicesのは、認証のさまざまなオプションを可能認証:WCF Data Servicesのセキュリティ保護。使用可能な方法から、Windows認証は、NTLMまたはKerberosメカニズムのいずれかを使用して、最も安全です。プラットフォーム間での可用性の制約から、現在使用されているほとんどのプラットフォーム、Android(バージョン4.0「アイスクリームサンドウィッチ」)、iOSなど、NTLMを使用できる最も適切で安全な認証方法があります。 Linux、UNIX、Windows。
IIS上でホストされているODataサービスのWindows認証を設定すると、匿名アクセスが無効になり、Windows統合認証が有効になります。詳細なガイドはOdata and Windows Authenticationにあります。
サービスにアクセスできるユーザをより詳細に制御するために、設定ファイル(web.configなど)から直接、特定のユーザだけでなくユーザロール/グループの両方にアクセスを許可または拒否することができます。 。特定のユーザーのアクセスを許可するための構文は、次のとおりです。セキュリティを最大限に高めるには、すべてのユーザー/グループへのアクセスを拒否し、必要に応じて明示的にアクセスを許可することをお勧めします。認証タグが明示的に設定ファイルで定義されていない場合は、許可タグの間でのルールは、(すなわち許可ユーザーDOMAIN \ユーザーアクセスは、すべてのユーザーに対して拒否よりも優先されます)
<authorization>
<allow users="DOMAIN\user"/>
<-- Deny access to every other authenticated or anonymous user
<deny users="*" />
<deny users="?" />
</authorization>
ために、その後、IISを取っています認識されたすべての接続ユーザー(Active Directoryまたはローカルマシン)のアクセスを認証して許可します。
クロスドメイン環境では可能ですが、どちらかが必要ですでWindows認証の設定:
- ドメイン間で確立される信頼関係(IISは、外部ユーザーを認証できるように)、または
- 両方のドメインに同じユーザ名とパスワードの組み合わせが存在する または
- 外部ドメインのクライアントは、サーバドメインに対して有効な資格情報 で認証されます。
このような状況で利用できるオプションについては、thisブログ記事で詳しく説明しています。データベースにログインして、WCFデータサービスに送信されたWindowsのアカウントの資格情報を使用して所望のデータを取得することができるようにするために
偽装
は、サービスはユーザーを偽装する必要があります。
identity impersonate="true"
:これは、以下の設定を行う必要があります
、設定ファイル(つまり、web.configファイル)でいずれかのコードで、または構成
返事をありがとう - IOSから認証しようとしたとき、私は、ユーザーがSQLMembershipデータベースにポストのため – Steve
感謝を使用して格納されるように、Windows認証を探していないよ、それは同じですか?私はipadとiphoneからWCFサービスを呼び出すフレームワークに取り組んでいます –
はい、NTLMはiOSでもサポートされています。 –