問題タブ [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.
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 を使用してユーザー プロファイルを保存する方法を見つけたいと思います。コードのアイデア、またはエラー メッセージを確認する方法はありますか?
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 が引数を取らないため (エラー メッセージに「必須」の仮パラメーターであると表示されていても)、アプリは登録できるため、これについても疑問に思っています。ユーザー。
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.csとApplicationDbContextModelSnapshot.csを含むMigrationsフォルダーがあり、必要なテーブルを含むデータベースを作成するための設定が含まれているように見えます。アプリでこれらのファイルを使用してみましたが、違いはありませんでした。
私の質問:
Identity/Entity Framework は、ユーザー情報のテーブルを含むデータベースをどのように作成しますか? アプリのデータベースを作成する前に「移行を適用」する必要があるのは奇妙に思えます。
自分のアプリで簡単なユーザー ログインを機能させるにはどうすればよいですか? 他のアプローチやフレームワークは大歓迎です。
asp.net-core - asp.net ID 3 はロールのリストの非同期をサポートしていません
次のコードがあります
ただし、ロール マネージャーがサポートする唯一の方法は
非同期メソッドではありません。
Githubリファレンス
結果は_roleManager.Roles.ToList()
メソッドのみになり、ToListAsync()
そのため、コードを次のように変更する必要があります
ただし、メソッド自体が非同期であるため、待機しなくなり、予期しない動作が発生するようになりました。
質問:
とにかく、上記の非同期メソッドを引き続き使用できますか
asp.net - asp.net ID 3 (vnext) で使用されるテーブル名を変更するにはどうすればよいですか?
asp.net ID 2 で ID テーブル名を変更するために使用された方法は、asp.net ID 3 では機能しません。
asp.net-core - userManager.CreateAsync System.ObjectDisposedException が処理されませんでした
ASP.Net 5 プロジェクトで Microsoft アカウント認証を使用しようとしています。ローカル認証は必要なく、ユーザー名も必要ありません。
Web アプリケーションの ASP.Net 5 テンプレートでは、外部プロバイダーでサインインした後、制御がExternalLoginCallback
AccountController に戻ります。
ユーザーがローカルで登録されていない場合、ユーザーはExternalLoginCallback
登録画面に戻ります。ExternalLoginCallback
以下のように、新しいユーザーを自動的に登録するように変更しようとしました。
CreateUserExternalLoginConfirmation
は、Web アプリケーションの ASP.Net 5 テンプレートに表示されるコードをコピーして実装します。
行にエラーがスローされます
エラーは
「それらの1つにすぎない」場合に備えてマシンを再起動しましたが、エラーが再発します。