問題タブ [asp.net-identity-3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
785 参照

c# - ASP.NET Identity v3 を使用したユーザー登録 - ユーザーとデータベースは作成されません

ASP.NET MVC v5、Entity Framework v7、および Identity v3 を使用して、単純なログイン システムをゼロから構築しようとしています。

私が望むのは、ユーザーがアカウントを作成し、そのアカウントがデータベースに保存されることだけです。私はそれをIdentity v2で動作させることができました。スキャフォールディングされたMVCアプリはIdentity v3を使用してデータベースを作成し、ユーザーをうまく保存するので、両方の動作中のアプリからコードを接続して新しいアプリを作成しようとしています.

これまでのコードは次のとおりです。

Startup.cs :

appsettings.jsonには、データベースに接続するための次のコードが含まれています。

Controllers/AccountController.csの Register POST アクションのコードは次のとおりです。

ここでは、try ブロックにブレーク ポイントを設定し、catch ブロックに入ると、例外が「カウント = 1」または「1 つ以上のエラーが発生しました」と読み取り、それらのエラーを確認する方法がわかりません。それは。

このコードでRegisterViewModelは、Email、Password、および ConfirmPassword のフィールドを持つ単なる ViewModel です。Account/Registerビューは、これらのフィールドを要求する単なるフォームです。ApplicationUserから拡張されたクラスですIdentityUser

私はここで立ち往生しています。アプリケーションでデータベースを作成し、Identity を使用してユーザー プロファイルを保存する方法を見つけたいと思います。コードのアイデア、またはエラー メッセージを確認する方法はありますか?

0 投票する
0 に答える
1828 参照

c# - ASP.NET ID - UserManager を使用したユーザーの作成

ASP.NET MVC v5、Entity Framework v7、および Identity v3 を使用して、単純なログイン システムをゼロから構築しようとしています。

私が望むのは、ユーザーがアカウントを作成し、そのアカウントがデータベースに保存されることだけです。これは Register POST アクションです。

ここで次のエラーが発生しますUserManager

エラー CS7036 「UserManager.UserManager(IUserStore, IOptions, IPasswordHasher, IEnumerable>, IEnumerable>, ILookupNormalizer, IdentityErrorDescriber, IServiceProvider, ILogger>, IHttpContextAccessor)」の必須の仮パラメータ「optionsAccessor」に対応する引数が指定されていません

これはどういう意味ですか/どうすればこれにアプローチできますか?

スキャフォールディングされた MVC アプリを作成すると、生成された AccountController で UserManager が引数を取らないため (エラー メッセージに「必須」の仮パラメーターであると表示されていても)、アプリは登録できるため、これについても疑問に思っています。ユーザー。

0 投票する
2 に答える
3566 参照

c# - ASP.NET Identity 3.0 - MVC アプリケーションで作成されたユーザー テーブルを含むデータベースはどのようになっていますか?

ASP.NET MVC v5、Entity Framework v7、および Identity v3 でコード ファーストのアプローチを使用して、単純なログイン システムをゼロから構築しようとしています。Visual Studio に付属している個々のユーザー ログイン テンプレートを使用して、ASP.NET MVC アプリの後に自分のアプリをモデル化しています。

私が望むのは、ユーザーがアカウントを作成し、そのアカウントがデータベースに保存されることだけです。

これが私がこれまでに持っているコードです:

Startup.cs :

appsettings.jsonには、データベースに接続するための次のコードが含まれています。

Controllers/AccountController.csの Register POST アクションのコードは次のとおりです。

このコードでRegisterViewModelは、Email、Password、および ConfirmPassword のフィールドを持つ単なる ViewModel です。Account/Registerビューは、これらのフィールドを要求する単なるフォームです。ApplicationUserから拡張されたクラスですIdentityUser

POST ルートで、try ブロックにブレーク ポイントを設定し、catch ブロックに入ると、「無効なオブジェクト名 AspNetUsers」という例外が表示されます。

このアプリで最初のユーザーを作成する前は、データベースがありません。新しいユーザーを登録すると、アプリによって、「ApplicationDbContext の既存の移行を適用すると、この問題が解決する可能性があります」というエラー ページが表示され、移行を適用するボタンが表示されます。ボタンを押すと、データベースが作成されます。ユーザー アプリで既定の MVC を実行すると、00000000000000_CreateIdentitySchema.csApplicationDbContextModelSnapshot.csを含むMigrationsフォルダーがあり、必要なテーブルを含むデータベースを作成するための設定が含まれているように見えます。アプリでこれらのファイルを使用してみましたが、違いはありませんでした。

私の質問:

  • Identity/Entity Framework は、ユーザー情報のテーブルを含むデータベースをどのように作成しますか? アプリのデータベースを作成する前に「移行を適用」する必要があるのは奇妙に思えます。

  • 自分のアプリで簡単なユーザー ログインを機能させるにはどうすればよいですか? 他のアプローチやフレームワークは大歓迎です。

0 投票する
1 に答える
274 参照

asp.net-core - asp.net ID 3 はロールのリストの非同期をサポートしていません

次のコードがあります

ただし、ロール マネージャーがサポートする唯一の方法は

非同期メソッドではありません。

Githubリファレンス

結果は_roleManager.Roles.ToList()メソッドのみになり、ToListAsync()

そのため、コードを次のように変更する必要があります

ただし、メソッド自体が非同期であるため、待機しなくなり、予期しない動作が発生するようになりました。

質問:

とにかく、上記の非同期メソッドを引き続き使用できますか

0 投票する
2 に答える
2058 参照

asp.net - asp.net ID 3 (vnext) で使用されるテーブル名を変更するにはどうすればよいですか?

asp.net ID 2 で ID テーブル名を変更するために使用された方法は、asp.net ID 3 では機能しません。

0 投票する
1 に答える
1905 参照

asp.net-core - userManager.CreateAsync System.ObjectDisposedException が処理されませんでした

ASP.Net 5 プロジェクトで Microsoft アカウント認証を使用しようとしています。ローカル認証は必要なく、ユーザー名も必要ありません。

Web アプリケーションの ASP.Net 5 テンプレートでは、外部プロバイダーでサインインした後、制御がExternalLoginCallbackAccountController に戻ります。

ユーザーがローカルで登録されていない場合、ユーザーはExternalLoginCallback登録画面に戻ります。ExternalLoginCallback以下のように、新しいユーザーを自動的に登録するように変更しようとしました。

CreateUserExternalLoginConfirmationは、Web アプリケーションの ASP.Net 5 テンプレートに表示されるコードをコピーして実装します。

行にエラーがスローされます

エラーは

「それらの1つにすぎない」場合に備えてマシンを再起動しましたが、エラーが再発します。