2016-12-12 5 views
0

ASP.NET 4.5 WebフォームとIdentity 2.0を使用してVisual Studio 2015で構築されたIIS8の小さなWebサイトで作業しています。私は一般的にhttps://www.asp.net/web-forms/overview/security/create-a-secure-aspnet-web-forms-app-with-user-registration-email-confirmation-and-password-resetに続き、カスタムコードを最小限に抑えました。ASP.NET WebForms認証は実際にはログインしません

ユーザーは正しいユーザー名とパスワード(エラーなし)でログインしますが、実際にはログインしません。Chromeに保存されているCookieがありますが、すべてのインジケーターはユーザーがまだ匿名であることを示しています。それは複数のコンピュータやブラウザで起こり、翌日はうまく動作します。問題のページの

のWeb.configセキュリティ:

<authentication mode="None"/> 
<authorization> 
    <allow users="*"/> 
</authorization> 

編集:サーバーの再起動が問題を修正し、すべてのログインが正常に動作し、一時的にに思えます。再起動する前に、正しい応答で間違ったパスワードが拒否されたため、Entity Frameworkがデータベースと通信していることがわかりました。

答えて

0

私は結局これに対する答えを見つけました。これを将来にわたって遭遇する可能性のある人のための投稿。関連するすべての詳細については、ASP.NET_SessionId + OWIN Cookies do not send to browserをお読みください。ただ、CreateIdentityメソッドの前に次の行を追加

アレクサンダーTrofimovの回答(https://stackoverflow.com/a/37761687/7286942)は、最も簡単な修正した

HttpContext.Current.Session["RunSession"] = "1"; 
var userIdentity = userManager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie); 
_authenticationManager.SignIn(new AuthenticationProperties { IsPersistent = rememberLogin }, userIdentity); 
関連する問題