2011-07-04 17 views
0

私はフォーム認証を使用しているasp.netアプリケーションを持っています。ASP.NET外部認証

ここで、ユーザー認証はアプリケーションの外部で行う必要があります。 必要な認証を行うイントロのページがあります。 その後、認証が成功した後、ユーザーは私のアプリケーションにリダイレクトされるべきです。

もちろん、ユーザーがその外部ページから認証されず、自分のアプリに直接アクセスしようとすると、この外部ログインページにリダイレクトする必要があります。

このような機能を実装する最善の方法は何ですか?実現可能だと思う方法の1つは、特定の暗号化された文字列を外部のログインページからクッキーに転送し、それを私のアプリケーションで検証することです。だから、それに基づいて、私はユーザーがこの外部ページを介して認証されているかどうかを見ることができます。

答えて

0

外部サイトのCookieを検証するあなた自身の提案は、この機能をどのように実装するかということです。

0

ステージにある最初のアプリケーションでWebサービスを追加するだけで、ユーザーがログインしている場合にチェックに接続できますが、唯一の問題は、どのユーザーがあなたにアクセスしているのかを知る必要があることですこれが本当にそのユーザーであることを確認することもできます(ユーザーはログインしている他のユーザーを使用できません)。この情報は、おそらくクッキー経由で送信される可能性があります。

0

2011年には独自のシングルサインを解決する必要はありません。むしろ、新しい標準のいくつか、特にOAuthOpenIDを見てください。 MSDNのOpenID website templateをご覧ください。

0

最後に、SAML 2.0プロトコルを使用することにしました。

外部ログインページには、SAMLコンプライアンスXMLが他のアプリケーションへの証明書でデジタル署名されています。このXMLでは、認証されたユーザー名が転送されます。このXMLを受け取るアプリケーションは、証明書の公開鍵でデジタル署名を検証し、検証がOKであればXMLからユーザー名を読み取り、内部アプリケーション認証ロジックを適用し、最後にauthを作成します。クッキー。おそらくデータ保護が完了するように暗号化を追加する予定です。