Visual Studio 2019 Pro
C#
SQLServer 2014 Standard(Windows 認証)
Windows Server 2016(開発時は Windows 10 Pro)
ASP.NET Web Form
Net Framework 4.8
Microsoft Edge 93
利用者からパスワードがあっているのにログインできないという問い合わせが急増しました。
IISを再起動するとログインできるようになります。よって利用者の「パスワードは間違っていない」というのは正しい主張だと確認が取れています。
具体的には、ログインボタンを押すと、ログイン画面にリダイレクトされます。エラー表示は何もありません。ログインのコードは以下の通りです。
C#
1protected void LogIn(object sender, EventArgs e) 2{ 3 if (IsValid){ 4 var signinManager = Context.GetOwinContext().GetUserManager<ApplicationSignInManager>(); 5 var result = signinManager.PasswordSignIn(UserID.Text, Password.Text, RememberMe.Checked, false); 6 switch (result){ 7 case SignInStatus.Success: 8 string rUrl = Request.QueryString["ReturnUrl"]; 9 if (string.IsNullOrWhiteSpace(rUrl)) 10 { 11 rUrl = "(ログイン後のトップページ)"; 12 } 13 IdentityHelper.RedirectToReturnUrl(rUrl, Response); 14 break; 15 16 // (以下省略) 17 } 18 } 19}
上記コードは Success を通過しております。
sessionState を InProc で使用しているのが原因なのではと思い始めました(恥ずかしながら使ってはいけないというのを今更知りました)。
そこで以下の通りに web.config を書き換えました。
ASP.NET
1<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" compressionEnabled="true" timeout="600" />
そしてASP.NET State Service を起動しました。しかし、今度は全くログインできなくなってしまいました。現象としては、ログインボタンを押すと、ログイン画面にリダイレクトされます。エラー表示は何もありません。IIS再起動でも、SQLServer再起動でも現象は変わりません。
このシステムで初めて ASP.NET Identity なるものを使いました(使ったつもりなのですが)が、どのファイルを確認すればよいのかも分からず行き詰っております。
その他やってみたことは、以下を記述し、aspnet_regsql.exe を使用し構成しましたが、全く同じ現象でログイン出来ておりません。
ASP.NET
1<sessionState mode="SQLServer" sqlConnectionString="Data Source=localhost;Integrated Security=True" cookieless="false" timeout="600" />
根本的な設定が何か欠けているのでしょうか。InProc に戻すと、ログインできるようになります。以下は当初の設定内容です。
ASP.NET
1<sessionState mode="InProc" customProvider="DefaultSessionProvider"> 2 <providers> 3 <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" /> 4 </providers> 5 </sessionState>
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/07 05:02
退会済みユーザー
2021/09/07 05:18 編集
2021/09/07 06:26