問題タブ [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.

0 投票する
6 に答える
5100 参照

asp.net - AllowOnlyAlphanumericUserNames - 設定方法は? (RC から RTM への重大な変更) ASP.NET Identity

Microsoft.AspNet.Identity.UserManager に AllowOnlyAlphanumericUserNames フラグを設定して、UserValidator が英数字以外の UserName を許可するようにするにはどうすればよいですか?

0 投票する
13 に答える
52836 参照

asp.net - 電子メール アドレスをユーザー名として許可するように Microsoft.AspNet.Identity を構成する

私は新しいアプリケーションを作成している途中で、EF6-rc1、Microsoft.AspNet.Identity.Core 1.0.0-rc1、Microsoft.AspNet.Identity.EntityFramework 1.0.0-rc1、Microsoft.AspNet.Identity を使い始めました。 .Owin 1.0.0-rc1 など、昨日の RTM リリースで、今晩 NuGet 経由で RTM に更新しました。

これまでに行った作業に対するいくつかのコード変更を除けば、アプリ用のローカル ユーザー アカウントを作成しようとするまでは、すべてうまくいっているように見えました。

私はリリース候補でうまく機能したユーザー名形式である電子メールアドレスに取り組んでいましたが、ユーザー名の電子メールアドレスでユーザーを作成すると、次の検証エラーがスローされます。

ユーザー名 xxxxx@xxxx.com は無効です。文字または数字のみを使用できます。

過去 1 時間ほどかけて、その構成オプションに関する解決策やドキュメントを探しましたが、役に立ちませんでした。

ユーザー名に電子メール アドレスを許可するように構成する方法はありますか?

0 投票する
7 に答える
106639 参照

c# - ASP.NET Identity を使用しているときにテーブル名を変更するにはどうすればよいですか?

Visual Studio 2013 (MSDN 2013-10-18 からダウンロード) のリリース バージョン (RC ではなく RTM) を使用しているため、AspNet.Identity の最新 (RTM) バージョンを使用しています。新しい Web プロジェクトを作成するとき、認証に「個々のユーザー アカウント」を選択します。これにより、次のテーブルが作成されます。

  1. AspNetRoles
  2. AspNetUserClaims
  3. AspNetUserLogins
  4. AspNetUserRoles
  5. AspNetUsers

(既定のテンプレートを使用して) 新しいユーザーを登録すると、これらのテーブル (上記のリスト) が作成され、AspNetUsers テーブルに以下を含むレコードが挿入されます。

  1. ID
  2. ユーザー名
  3. パスワードハッシュ
  4. セキュリティスタンプ
  5. 識別器

さらに、クラス「ApplicationUser」にパブリック プロパティを追加することで、「FirstName」、「LastName」、「PhoneNumber」などのフィールドを AspNetUsers テーブルに正常に追加できました。

これが私の質問です。上記のテーブルの名前を変更する方法はありますか (それらが最初に作成されたとき)、または上記のように常にAspNetプレフィックスで名前が付けられますか? テーブル名に別の名前を付けることができる場合は、その方法を説明してください。

- アップデート -

@Hao Kung のソリューションを実装しました。新しいテーブルが作成されますが (たとえば、MyUsers と呼びます)、AspNetUsers テーブルも作成されます。目標は、「AspNetUsers」テーブルを「MyUsers」テーブルに置き換えることです。以下のコードと、作成されたテーブルのデータベース イメージを参照してください。

実際には、各AspNetテーブルを自分の名前に置き換えたいと思います... fxample、MyRoles、MyUserClaims、MyUserLogins、MyUserRoles、および MyUsers の場合。

これを達成し、最終的に 1 セットのテーブルだけになるにはどうすればよいですか?

データベース テーブル

-- 回答を更新 --

Hao Kung と Peter Stulinski の両方に感謝します。これは私の問題を解決しました...

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

asp.net - ASP.Net Identity で削除がサポートされていない理由

最近Visual Studio 2013でRTMされた新しい認証機能をいじっていました。

カスタム UserStore を実装している間、同梱されている UserStore の逆コンパイルされたソースを見ていましたMicrosoft.AspNet.Identity.EntityFramework.UserStore<TUser>。ユーザーを削除する方法がサポートされていないことに気付きました。

それは奇妙ですね。ユーザーの削除がサポートされていないのはなぜですか?

ハード削除されたユーザー レコードを作成した実稼働システムを覚えていないことは認めますが、この機能がサポートされていない理由がわかりません。

技術的な理由はありますか、それとも Microsoft がユーザー レコードの削除は「悪い」と感じており、開発者がメソッドをオーバーライドするための演習として残しているためですか?

アップデート

ASP.NET チームの考えを理解するために、フレームワークの使用法を検索しましたDeleteAsync(TUser user)。フレームワーク内の何もそれを呼び出すようには見えません。したがって、メンバーをIUserStore<TUser>インターフェイスから完全に除外できたようです。

この時点での私の結論は、必要に応じてどのように実装するかということであり、アプリケーション コードまたは将来のユーザー管理ライブラリによってのみ呼び出されるということです。

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

visual-studio-2013 - VS2013 (RTW): SPA テンプレートと MVC5 テンプレートの認証の違い?

VS2013 RTW MVC テンプレート (「個々のユーザー アカウント」用) で新しい ASP.NET ID を試してみましたが、うまく機能しています。データをシリアル化する方法をカスタマイズしながら、Facebook ログインを統合することができます。

まったく問題ありませんが、(MVC の代わりに) 新しい SPA アプリを作成すると、認証の話が大きく異なることに気付きました。例として:

SPA テンプレートから:

MVC テンプレートから:

これは、Account コントローラーのコンストラクターの違いにすぎません。他にも多くの違いがあります。MVC バージョンでは、ApplicationDBContext から独自のコンテキスト クラスを簡単に派生させ、それを使用して認証テーブルと一緒に独自のテーブルを格納することができました。SPA テンプレートでデータ ストレージをカスタマイズする方法がわかりませんでした。

また、SPA テンプレートには、次のクラスが含まれ、使用されます。 public class ApplicationOAuthProvider : OAuthAuthorizationServerProvider

MVC テンプレートは、このクラスを定義 (または使用) しません。

MVC テンプレートと SPA テンプレートの間に違いが必要な理由がわかりません。

これら 2 つのテンプレートで認証の処理が異なる理由について、誰かが私にガイダンスを与えることができますか? プロジェクトをゼロから開始する場合、両者の間でたどる優先パスはありますか? (特に、カスタム EF Context クラスを定義してデータの格納方法をカスタマイズするという点では、MVC テンプレートのコードが最適のようです。)

ありがとう...

-ベン

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

c# - Microsoft.AspNet.Identity - POCO クラスをカスタマイズする

以下のコードを使用して、標準の ApplicationUser オブジェクトにいくつかのフィールドを追加するのに苦労しています。移行が正常に実行され、データベース スキームがデータベースの新しいフィールドで更新されていることがわかります。http://go.microsoft.com/fwlink/?LinkID=317594のチュートリアルに従いました

私が経験する問題は、次のような登録を実行しようとしたときです。

CreateLocalUser() を実行すると、次のエラーが発生します...:

タイプ 'System.InvalidOperationException' の例外が mscorlib.dll で発生しましたが、ユーザー コードで処理されませんでした

追加情報: EntityType 'Test.Models.ApplicationUser' のマッピングおよびメタデータ情報が見つかりませんでした。

移行を約 5/6 回再作成して、新しいプロジェクトも開始しましたが、このエラーを回避できません。

何か案は?

0 投票する
3 に答える
7770 参照

claims-based-identity - asp.net MVC5 EF6で流暢なAPIを使用してテーブルをマップしますか?

プロファイル/メンバーシップ情報を MVC5 アプリケーションに追加し、構成マッピングを追加しようとしています。

次のエラー メッセージが表示されます。

my.Models.IdentityUserLogin: : EntityType 'IdentityUserLogin' にはキーが定義されていません。この EntityType のキーを定義します。

my.Models.IdentityUserRole: : EntityType 'IdentityUserRole' にはキーが定義されていません。この EntityType のキーを定義します。

IdentityUserLogins: EntityType: EntitySet 'IdentityUserLogins' は、キーが定義されていないタイプ 'IdentityUserLogin' に基づいています。

IdentityUserRoles: EntityType: EntitySet 'IdentityUserRoles' は、キーが定義されていないタイプ 'IdentityUserRole' に基づいています。

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

visual-studio-2013 - IdentityDbContextMicrosoft.AspNet.Identity.EntityFramework では、基本 DbContext コンストラクターを非表示にします

私は、Visual Studio 2013 RTM を asp.net mvc 5 エンティティ フレームワーク asp net ID プロバイダーと共に使用しています。次のことを行っています。

この行でコンパイル時エラーが発生します

クラス IdentityDbContext は、DbContext のすべてのコンストラクターを隠しています。回避策はありますか?