5

新しい asp.net ID を調査しています。コードファーストと移行機能を使用してユーザーテーブル「AspNetUsers」にフィールドを追加することは素晴らしいようです。

「Name」、「CreatedOn」、「CreatedFromIP」などの列を追加して、.NET から読み取れるようにしたい

簡単な解決策はありますか?

4

3 に答える 3

3

App_Start フォルダーからデータベースを開き、フィールドを変更するだけです。(テンプレートを使用している場合)

于 2014-05-12T07:55:09.473 に答える
1
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;
    }
}

詳細はこちら

于 2016-06-04T13:50:12.863 に答える
0

この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 に付属するストック クラスに固執しています。それをサブクラス化し、そのサブクラスを使用するフレームワークを取得することは、テーブルから外れている可能性があります。わからない、独自の質問に値する:

IdentityDbContext の AspNetUserLogins/Logins に列/プロパティを追加する

于 2017-08-08T01:53:37.783 に答える