問題タブ [asp.net-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.
asp.net - ASP.Net ユーザー名から電子メールへ
私は新しい ASP.NET Identity (RTM) を使用していますが、登録とログインを UserName から Email に変更するにはどうすればよいか考えていました。
アイデアは、ユーザーに電子メールとパスワードを使用してサインアップさせ (電子メールは外部ログインを使用して取得することもできます)、表示名/ユーザー名を上に設定することです。
私は IdentityUser を見てきましたが、UserName がそこにあることがわかりますが、それは変更できない ASP.Net Identity にパックされているためです。
カスタムバリデーターを使用して「UserName」を電子メールとして使用し、ApplicationUser に DisplayName という追加の属性を追加できることはわかっていますが、これは解決策というよりもハックです。
私の質問が明確であることを願っています。前もって感謝します。
asp.net - ASP.NET Identity の IUserSecurityStampStore とはインターフェース?
ASP.NET Identity (ASP.NET の新しいメンバーシップの実装) を見て、独自の を実装するときにこのインターフェイスに出くわしましたUserStore
。
IUserSecurityStampStore
EntityFramework.UserStore<TUser>
基本的にプロパティを取得および設定するデフォルトで実装されていTUser.SecurityStamp
ます。
さらに掘り下げると、は の重要なポイント(パスワードの変更など)で新しく生成された でSecurityStamp
あることがわかります。Guid
UserManager
Reflectorでこのコードを調べているため、これ以上のことを実際に解読することはできません。ほとんどすべてのシンボルと非同期情報が最適化されています。
また、Google はあまり役に立ちませんでした。
質問は次のとおりです。
SecurityStamp
ASP.NET Identityの とは何ですか? また、何に使用されますか?SecurityStamp
認証 Cookie が作成されるときに何らかの役割を果たしますか?- これに関して講じる必要があるセキュリティ上の影響や予防策はありますか? たとえば、この値をダウンストリームのクライアントに送信しませんか?
更新 (2014 年 9 月 16 日)
ここで入手可能なソースコード:
asp.net-mvc - mvc5 アカウント コントローラー コードを別のプロジェクトに移動する
WebApi2、MVC5、および DAL プロジェクト (すべて RTM) を含むソリューションがあります。
現在組み込まれている新しいメンバーシップ ビットを使用したいと考えていますが、すべてのアカウントがアカウント コントローラーにあるのは好きではありません。ファイルの新しいプロジェクト( asp.net ) を実行すると、すべてのメンバーシップがアカウント コントローラーに結合されます。
私のDAL内では、私がやろうとしていることに合っているので、コードファーストの理想が好きなので、EF6を使用しています。アカウント コントローラーのコードを別のプロジェクトに移動しようとしています。
DAL 内の私のコンテキストは素晴らしくシンプルです (MVC サイトから取得)
ログインアクション結果内のアカウントコントローラーから試します
でエラーをスローしますUser.FindAsync
エンティティ タイプ ApplicationUser は、現在のコンテキストのモデルの一部ではありません。
現在のコンテキストで ApplicationUser を使用できるようにするには、どうすればよいですか?
c# - ASP.NET ID: ロール内のすべてのユーザーを取得します
ロール内のすべてのユーザーのリストを取得する方法は? 以前は Roles.GetUsersInRole で可能でしたが、新しい ID ではこのようなものを見つけることができません。
asp.net-mvc - ASP.NET (OWIN) ID: Web API コントローラーから UserID を取得する方法は?
(VS2013 RTW、ASP.NET MVC5 を使用)
ASP.NET ID を使用するときに、ApplicationUser クラス (およびテーブル) にプロパティを追加する方法に関する多くのドキュメントを見てきました。しかし、外部キーを介して ApplicationUser テーブルにマップされるコンテンツを含む別のテーブルを作成する方法に関するドキュメントは見たことがありません。
独自の Microsoft.AspNet.Identity.EntityFramework.IdentityDbContext の派生に成功し、独自の "UserPreferences" テーブルが SQL Server データベースのさまざまな "AspNet*" テーブルと調和して共存できるようになりました。しかし、「UserPreferences」テーブルに新しい行を書き込むために現在のユーザーの ID を取得する最善の方法については明確ではありません。プロジェクトは ASP.NET MVC ですが、Web API コントローラーを追加しました (そして内部で作業しています)。
私は実用的な解決策を持っています:
AspNetUsers テーブル (Identity フレームワークによって定義されている) は、次のフィールドで構成されていると考えてください。
id フィールド (ユーザー名ではない) は、このテーブルで参照する正しいフィールドだと思います。(ユーザーが自分のユーザー名を変更すると、他の誰かが他のユーザーのユーザー名を引き継ぐ可能性があると考えていました。そのため、両方のフィールドが存在する可能性があります。)したがって、現在のユーザーの ID を取得して、上記のコードが行う「UserPreferences」テーブル。しかし、このルックアップを行わなければならないのは効率が悪いようです。
重要な点は、System.Web.Mvc.Controller のコンテキストでは、次のことができるということです。
しかし、System.Web.Http.ApiController (Web API) のコンテキストでは、そのメソッドが存在しないため (User.Identity のランタイム タイプ: System.Security.Claims.ClaimsIdentity)、代わりに依存する必要があるため、できません。 :
追加のルックアップを実行して、名前を ID に変換します。これを改善する方法について何か提案はありますか? ユーザーデータを別のテーブルに正しい方法で書き込むタスクに取り組んでいますか?
c# - WebAPI で ApplicationUser を公開する
WebAPI 2 を使用してユーザーのリストを公開できるようにしたいと考えています。ただし、MVC5 で新しい Asp.Net 認証フレームワークを使用しているため、特定のフィールドのみを としてマークする方法が見つからないようですDataMembers
。
私が持っているものは次のとおりです。
ただし、属性IdentityUser
がないため、機能しないようです。[DataContract]
カスタム を作成しようとしましたIdentityUser
が、 のカスタム コピーを作成した後にビルドできませんでしたIdentityUser
。
ここでヒントや回避策はありますか?現在のベスト プラクティスでない限り、ViewModel を作成する必要はありません。
entity-framework - MVC5コード最初にユーザーを多対多の関係に追加する
コードファーストとユーザーアカウントのものでmvc5を使用しています。
ユーザーが複数の店舗に所属でき、ビジネスが複数の店舗を持つことができるという単純な要件があります。
これまでのところ、私はビジネスを行っています-多くの店舗が機能していますが、ユーザーをセットアップする方法がわかりません.
私のストアモデル
私のビジネスモデル
私の文脈の中で私は試しました
ただし、add-migration を試行すると、生成されたコードによってテーブル名が変更され、Store と AspNetUser の間に結合テーブルが作成されます
私の移行は次のようになります
これを機能させるために私がする必要があることを誰かが助けることができますか?