为什么WebSecurity会忽略我的密码?

 2023-02-16    353  

问题描述

我已经配置了SimpleMembership以使用我自己的表进行用户数据,Occupant表,如下所示:

WebSecurity.InitializeDatabaseConnection("EstatesContext", "Occupant", "Id", "UserName", autoCreateTables: true);

和在寄存器事件中,将此表的数据传递如此:

为什么WebSecurity会忽略我的密码?

WebSecurity.CreateUserAndAccount(
    model.UserName,
    model.Password,
    propertyValues: new { 
        IdNumber = model.IdNumber,
        Surname = model.Surname,
        FirstName = model.FirstName,
        Type = model.Type,
        IsActive = model.IsActive,
        EMailAddress = model.EmailAddress                            
    });

当我尝试注册新用户时,我收到以下错误:

无法将值NULL插入列’密码’,表
‘xtimeestates.dbo.occupant’;列不允许空.插入
失败.

是否哈希并将密码存储在其他地方传递给CreateUserAndAccount?意思是我不应该明确存储任何密码数据?或者是错误的吗?

推荐答案

简单的成员资格提供程序在”webpages_membership”表中存储用户密码(除非禁用,否则由框架自动生成),因此如果您的”占用表”表包含非可用的密码字段,则需要您将其作为唯一的属性值构造中的附加值.有了这一说,占用表中的密码字段不是必需的,因为简单的会员提供者负责.简单成员资格所需的所有内容都是一个字段,可以在您传入初始化的任何表中存储userid和用户名.

以上所述是小编给大家介绍的为什么WebSecurity会忽略我的密码?,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/34042.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。