【问题标题】:Asp.Identity with an existing Users tableAsp.Identity 与现有的用户表
【发布时间】:2017-03-01 13:58:24
【问题描述】:

我需要为成员准备一个包含现有 tbl_users 表的 MVC 5 应用程序。我可以使用或修改 Asp.Identity 还是需要准备自定义成员资格? 请指教。

CREATE TABLE [dbo].[tbl_user](
    [id] [bigint] IDENTITY(1,1) NOT NULL,
    [user] [varchar](50) NOT NULL,
    [password] [varchar](60) NOT NULL,
    [password_raw] [varchar](255) NULL,
    [name] [varchar](255) NOT NULL,
    [email] [varchar](255) NOT NULL,
    [url] [varchar](255) NULL,
    [language] [varchar](255) NULL,
    [active] [smallint] NOT NULL,
    [session_id] [varchar](100) NULL,
    [reg_date] [datetime2](0) NOT NULL,
    [theme] [varchar](255) NULL,
    [timezone] [varchar](255) NULL,
    [last_visit_date] [datetime2](0) NULL,
    [past_visit_date] [datetime2](0) NULL,
    [activation] [varchar](32) NULL,
    [activation_date] [datetime2](0) NULL,
    [ip_address] [varchar](255) NULL,
    [security_question] [varchar](255) NULL,
    [security_answer] [varchar](255) NULL,
    [lock_url] [varchar](500) NULL,
    [lock_is_locked] [smallint] NOT NULL,
    [lock_time] [datetime2](0) NULL,
    [change_password] [smallint] NOT NULL,
    [last_change_password_date] [datetime2](0) NOT NULL,
    [expire_date] [date] NULL,
    [employee_no] [bigint] NULL,
    [student_no] [bigint] NULL,
    [parent_no] [bigint] NULL,
    [user_type] [varchar](5) NULL,
    [last_site] [varchar](50) NULL

谢谢。

【问题讨论】:

    标签: asp.net sql-server asp.net-mvc asp.net-identity asp.net-membership


    【解决方案1】:

    您可以从 IUser 派生您的自定义用户类并在那里定义属性(附加)。像这样的:

    public class IdentityUser: IUser
    {
        #region Constructors
    
        /// <summary>
        /// Initializes a new instance of the <see cref="IdentityUser"/> class
        /// </summary>
        public IdentityUser()
        {
            Id = Guid.NewGuid().ToString();
            Roles = (ICollection<IdentityUserRole>)new List<IdentityUserRole>();
        }
    
        /// <summary>
        /// Initializes a new instance of the <see cref="IdentityUser"/> class
        /// </summary>
        /// <param name="username">Username for the user</param>
        public IdentityUser(string username): this()
        {
            UserName = username;
        }
    
        #endregion
    
        #region IUser<string> members
        // Custom properties...
        #endregion
    }
    

    您可以在这里找到更多信息:https://jinishbhardwaj.wordpress.com/2014/07/16/decoupling-asp-net-identity-2-0-from-entity-framework-in-mvc5-part-1/

    【讨论】:

    • 感谢您的帮助;我正在研究它:protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Configurations.AddFromAssembly(typeof(IdentityModel.Configurations.IdentityUserConfiguration).Assembly); IdentityModel 导致问题,无法找到,使用 Microsoft.AspNet.Identity;也添加了。
    • IdentityModel 是程序集的名称。您的 IdentityUserConfigur‌​ation.cs 文件似乎是在 IdentityModel.Configurations 命名空间的 IdentityModel 程序集中定义的。您需要在项目中导入该程序集。或者更正 OnModelCreating 方法中的命名空间
    猜你喜欢
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    • 2018-02-17
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多