問題タブ [asp.net-core-identity]
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# - アクション メソッドの後に ViewComponent を呼び出す
次のレイアウト ページがあります。
ViewComponent
認証されたユーザーと認証されていないユーザーの 2 つの異なるビューをレンダリングします。
ユーザーをログアウトするアクション メソッドもあります。
アクションメソッドが呼び出されたViewComponent
後にレンダリングしたいのですLogOut
が、どうすればいいですか?
c# - ASP.NET Core ビューから ApplicationUser プロパティにアクセスするにはどうすればよいですか?
ASP.Net vNext / MVC6 プロジェクトに取り組んでいます。ASP.Net Identity に慣れてきました。
クラスは明らかに、ApplicationUser
追加のユーザー プロパティを追加することになっている場所であり、これは Entity Framework で機能し、追加のプロパティは期待どおりにデータベースに格納されます。
ただし、ビュー内から現在ログインしているユーザーの詳細にアクセスしたい場合に問題が発生します。具体的には_loginPartial.cshtml
、メールアドレスが必要なユーザーの Gravatar アイコンを取得して表示する必要があります。
RazorView
基本クラスには User プロパティがあり、これはClaimsPrincipal
. カスタム プロパティを取得するには、このUser
プロパティから に戻るにはどうすればよいですか?ApplicationUser
情報を見つける方法を尋ねているわけではないことに注意してください。ApplicationUser
値からを検索する方法を知っていUser.GetUserId()
ます。これは、この問題に賢明に取り組む方法についての質問です。具体的には、次のことはしたくありません。
- ビュー内から任意の種類のデータベース ルックアップを実行します (関心の分離)
- 現在のユーザーの詳細を取得するには、すべてのコントローラーにロジックを追加する必要があります (DRY 原則)
- すべての ViewModel に User プロパティを追加する必要があります。
これは、一元化された標準ソリューションが必要な「分野横断的な懸念」のように思えますが、ジグソー パズルのピースが欠けているように感じます。ビュー内からこれらのカスタム ユーザー プロパティを取得する最善の方法は何ですか?
注: MVC チームは、UserName プロパティが常にユーザーの電子メール アドレスに設定されるようにすることで、プロジェクト テンプレート内でこの問題を回避し、ユーザーの電子メール アドレスを取得するためにこの検索を実行する必要がないようにしています! それは私にはちょっとした詐欺のように思えます.私のソリューションでは、ユーザーのログイン名はメールアドレスである場合とそうでない場合があるため、そのトリックに頼ることはできません(後でアクセスする必要がある他のプロパティがあると思います. )。
asp.net-core - ASP.NET Core Identity で永続的 Cookie と非永続的 Cookie に異なる ExpireTimeSpan を構成する方法
私は、オプションを覚えているサインイン ページを持っています。私は Cookie の有効期限をかなり長く、たとえば 1 か月に設定したいと考えています。このプロパティを使用できますCookieAuthenticationOptions.ExpireTimeSpan
が、RememberMe オプションに対して「のみ」機能しません。ユーザーが現在のブラウジング セッションで、サインイン後 30 分など、数分間サインインする必要があります (ユーザーが [RememberMe] オプションを選択しなかった場合)。この場合、 を使用しますExpireTimeSpan = TimeSpan.FromMinutes(30)
。
「RememberMeDuration」のようなものを構成して、RememberMe が選択されている場合と選択されていない場合の 2 つの異なる設定を構成する方法はありますか? - すぐに使用できます (少なくとも、そのような小さな機能のためにまったく新しいミドルウェアを作成するわけではありません)。
asp.net-core - ASP.Net Core ローカリゼーション
ASP.Net コアは、ローカリゼーションの新しいサポートを備えています。
私のプロジェクトでは、1 つの言語だけが必要です。ほとんどのテキストと注釈については自分の言語で指定できますが、ASP.Net Core 自体からのテキストについては言語は英語です。
例:
- パスワードには、少なくとも 1 つの大文字 ('A'-'Z') が必要です。
- パスワードには、少なくとも 1 つの数字 ('0' から '9') が必要です。
- ユーザー名「x@x.com」は既に使用されています。
- E-post フィールドは有効な電子メール アドレスではありません。
- 値 '' は無効です。
カルチャを手動で設定しようとしましたが、言語はまだ英語です。
ASP.Net Core の言語を変更したり、既定のテキストを上書きしたりするにはどうすればよいですか?
c# - ASP .NET Core Identity および EntityFrameworkCore で新しいユーザーを登録するときの InvalidOperationException
Identity の使用に関するドキュメントに従っており、新しいユーザーを登録しようとしています (登録アクションを実行しています) が、次のエラーで失敗します:
InvalidOperationException: このタイプはコンテキストのモデルに含まれていないため、'ApplicationUser' の DbSet を作成できません。
起動:
私は標準の ApplicationUser を使用しています:
AccountController にアクションを登録します。
私はすでに次のことを試しました:
DbSet<ApplicationUser>
に追加AplicationContext
- 新しい移行を作成して適用しました
dotnet ef
c# - asp.net IDのUpdateAsyncメソッドのカスタム実装を提供するには?
カスタム asp.net ID を実行しており、asp.net 組み込みテーブルを使用していません。カスタムを実装してユーザーを正常に作成しましたCreateAsync
今、新しい暗号化されたパスワードでユーザーを更新したいので、のカスタム実装を提供する方法がわかりませんUpdateAsync method
。
これは私のテーブルです:
ユーザー:Id,Name,EmailId,Password,Statistics,Salary
モデル:
IUserstore を実装する私のカスタム クラス:
コントローラ: