新しい asp.net ID を調査しています。コードファーストと移行機能を使用してユーザーテーブル「AspNetUsers」にフィールドを追加することは素晴らしいようです。
「Name」、「CreatedOn」、「CreatedFromIP」などの列を追加して、.NET から読み取れるようにしたい
簡単な解決策はありますか?
新しい asp.net ID を調査しています。コードファーストと移行機能を使用してユーザーテーブル「AspNetUsers」にフィールドを追加することは素晴らしいようです。
「Name」、「CreatedOn」、「CreatedFromIP」などの列を追加して、.NET から読み取れるようにしたい
簡単な解決策はありますか?
App_Start フォルダーからデータベースを開き、フィールドを変更するだけです。(テンプレートを使用している場合)
public class ApplicationUser : IdentityUser
{
public string YourProperyHere { get; set; }
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
{
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// Add custom user claims here
return userIdentity;
}
}
詳細はこちら
このVisitor
クラスは、新しい Identity Framework プロジェクトをセットアップするときにテンプレートとして提供され、そのクラスはAspNetUsers
テーブルに関連付けられています。弱い/制御できない一連のプロパティを継承し、必要なものを追加できます。
public class Visitor : IdentityUser
{
[MaxLength(300)]
public string FirstName { get; set; }
[MaxLength(300)]
public string LastName { get; set; }
public DateTime CreatedOn { get; set; }
public Visitor()
{
CreatedOn = DateTime.UtcNow;
}
}
AspNetUserLogins テーブルを変更したり、直接クエリを実行したりする方法はまだ見つかりません。デフォルトの Identity Framework セットアップでは、ユーザーとロールにアクセスできるデータベースが提供されますが、ログインにはアクセスできません。さらに、ユーザーからステップダウンしたテーブルがありますが、それではクエリを実行できません。そして、少なくともデフォルトでは、Identity Framework に付属するストック クラスに固執しています。それをサブクラス化し、そのサブクラスを使用するフレームワークを取得することは、テーブルから外れている可能性があります。わからない、独自の質問に値する: