【发布时间】:2020-04-23 15:24:06
【问题描述】:
身份的基本结构看起来
using Microsoft.AspNetCore.Identity;
using System;
namespace Microsoft.AspNetCore.Identity
{
// Represents a user in the identity system
// TKey:
// The type used for the primary key for the user.
public class IdentityUser<TKey> where TKey : IEquatable<TKey>
{
// Initializes a new instance of Microsoft.AspNetCore.Identity.IdentityUser`1.
public IdentityUser();
// Initializes a new instance of Microsoft.AspNetCore.Identity.IdentityUser`1.
public IdentityUser(string userName);
// Gets or sets the date and time, in UTC, when any user lockout ends.
// A value in the past means the user is not locked out.
public virtual DateTimeOffset? LockoutEnd { get; set; }
// Gets or sets a flag indicating if two factor authentication is enabled for this
// user.
[PersonalData]
public virtual bool TwoFactorEnabled { get; set; }
// Gets or sets a flag indicating if a user has confirmed their telephone address.
[PersonalData]
public virtual bool PhoneNumberConfirmed { get; set; }
// Gets or sets a telephone number for the user.
[ProtectedPersonalData]
public virtual string PhoneNumber { get; set; }
// A random value that must change whenever a user is persisted to the store
public virtual string ConcurrencyStamp { get; set; }
// A random value that must change whenever a users credentials change (password
// changed, login removed)
public virtual string SecurityStamp { get; set; }
// Gets or sets a salted and hashed representation of the password for this user.
public virtual string PasswordHash { get; set; }
// Gets or sets a flag indicating if a user has confirmed their email address.
[PersonalData]
public virtual bool EmailConfirmed { get; set; }
// Gets or sets the normalized email address for this user.
public virtual string NormalizedEmail { get; set; }
// Gets or sets the email address for this user.
[ProtectedPersonalData]
public virtual string Email { get; set; }
// Gets or sets the normalized user name for this user.
public virtual string NormalizedUserName { get; set; }
// Gets or sets the user name for this user.
[ProtectedPersonalData]
public virtual string UserName { get; set; }
// Gets or sets the primary key for this user.
[PersonalData]
public virtual TKey Id { get; set; }
// Gets or sets a flag indicating if the user could be locked out.
public virtual bool LockoutEnabled { get; set; }
// Gets or sets the number of failed login attempts for the current user.
public virtual int AccessFailedCount { get; set; }
// Returns the username for this user.
public override string ToString();
}
}
但我不需要很多字段(例如 EmailConfirmed 等)。
但我需要添加一些简单类型的自定义字段(string,int)和一些用于多对多关系的字段(List),与关系用户相同+ 角色 “用户 - UsersRoles - 角色”.
如何在不丢失功能和充分利用身份
的情况下做到这一点【问题讨论】:
标签: c# asp.net-mvc asp.net-core asp.net-identity code-first