2009-08-13 17 views
0

私のウェブサイトはフォーム認証を使用しています。私はasp認証ユーザーのコンテキストで動作するように設計されているsilverlight 3モジュールを実行しました。 Silverlightモジュールは、同じasp.net WebサイトでホストされているWCFと会話しますが、問題はWCFサービスに対して認証できないことです。 Fiddlerを実行すると、.ASPXAUTH CookieがWCFサービスに送信されないことがわかります。 SilverlightがブラウザからこのCookieを取得してサービスに送信する方法を教えてください。SilverlightとASP.NETの承認

答えて

1

最後に私はそれを解決しました。 不適切なホスト名によってCookieが見つからないという問題が発生しました。 myhostnameにasp.netリクエストを送信しましたが、SLはmyhostname.mylocaldomainnam.localを使用してWCFを呼び出していました。このため、WCF呼び出し中に.aspauthのCookieが存在しなかったのはこのためです。

0

私はそれをうまく使いました。まず、ASP.NETが使用するWCF AuthorizationServiceのサービスエンドポイントがあることを確認します。次に、Silverlightプロジェクトを使用して、AuthorizationServiceの「サービスリファレンス」を生成します。最後に、モジュール内で、そのサービス参照を使用して、プロバイダ内に格納されている資格情報を使用してビジターにログインします。サイトの構築方法に関するさらに詳しい情報がある場合は、問題に対するより簡潔な回答を提供することができます。

+0

ユーザーはasp.netのWebサイトにログインします。その後、Silverlightモジュールに入ることができます。ユーザーはSilverlightで再度ログインする必要はなく、一時的な場所(ブラウザー/セッション)にパスワードを保存したくない場合もあります。 – tomo

+0

これは同じものです。フォーム認証を使用するページにログインすると、WPF認証サービスと同じCookieが作成されます。したがって、SilverlightへのログインがASP.NETへのパススルーを許可するように、ページにログインするとSilverlightにパススルーできます。 btwは、フォーム認証を使用してパスワードを決して格納しません。 – Rick

+0

なぜ認証サービスへの参照を追加する必要がありますか? Silverlightクライアント内のこのサービスから何らかの機能を呼び出す(または何かを設定する)必要はありますか? – tomo