フォーム認証を使用して既存のasp.net webformsアプリケーションにFacebook(および後でgoogleなど)認証を追加する必要があります。Forms認証とowin facebook認証(ウェブフォーム)
ほぼですが、フォーム認証とオーファン認証の間に競合があるようです。私のソリューションは、標準のVS 2015テンプレートに基づいています。次のように
外部認証プロバイダ(Facebookの)にリダイレクトするために、関連するコードは次のとおりです。
string redirectUrl =
ResolveUrl(String.Format(CultureInfo.InvariantCulture,
"~/Account/RegisterExternalLogin?{0}={1}&returnUrl={2}", IdentityHelper.ProviderNameKey,
provider, ReturnUrl));
var properties = new AuthenticationProperties { RedirectUri = redirectUrl };
Context.GetOwinContext().Authentication.Challenge(properties, provider);
Response.StatusCode = 401;
Response.End();
私は、フォーム認証をオフにする場合、これは動作します。私は、フォーム認証を使用している場合、ユーザーは、web.configファイルで定義されたフォーム認証のURLにリダイレクトされます:
<authentication mode="Forms">
<forms name=".ASPXAUTH_Test" loginUrl="~/start/login.aspx" timeout="60" >
</forms>
</authentication>
私understandintからのHTTPステータスコード(401)は、web.configファイル内のURLへのリダイレクトをトリガ。他のステータスコードを設定しようとしましたが、まったく動作しません。 web.configでフォーム認証を無効にしても、実際のログインプロセス(驚くべきことに)は動作しますが、保護されているページにアクセスしてアクセスした場合、迷惑なIISエラーページが表示されます。
私がこれまでのところ、すべての選択肢が私には魅力的に思えません
:-(適切に協力する作業フォーム認証とowin外部認証を得ることができないという、思わ: - アイデンティティフレームワークへの切り替え - web.apiなどを使用しようとしました(これはおそらく同じ問題を抱えています) - 外部認証を許可します手ですべてを実装する
誰もがこの仕事をすることができましたか? あらかじめ。フォームが応答でリダイレクトを防止することが可能である。ネット4.5から
: