我正在尝试在 ASP.NET 项目中使用 ASP.NET 成员资格。我唯一的要求是用户需要使用 EmployeeID 作为用户名而不是电子邮件登录。这是否可以使用默认会员提供程序轻松配置?
我在 aspnet_Membership 表中看到一个 MobilePin 列,我想知道是否有办法将其用作用户名。
谢谢
我正在尝试在 ASP.NET 项目中使用 ASP.NET 成员资格。我唯一的要求是用户需要使用 EmployeeID 作为用户名而不是电子邮件登录。这是否可以使用默认会员提供程序轻松配置?
我在 aspnet_Membership 表中看到一个 MobilePin 列,我想知道是否有办法将其用作用户名。
谢谢
您可以推出自己的会员提供程序并使用提供的值检查数据库。由于您可能已经有一个使用 UserName 属性的 LogonModel,因此您可以将其更改为 EmployeeId。您可能还必须使用更改的属性重新生成登录视图。
所以而不是视图
@Html.TextBoxFor(m => m.UserName)
它会像
@Html.TextBoxFor(m => m.EmployeeId)
无论您将 Logon 模型类重命名为什么。
然后,您将需要拥有自己的 MembershipProvider 并覆盖 ValidateUser 方法,以便它针对数据库进行验证。然后在 HttpPost 操作的控制器方法中使用您的成员资格提供程序实现。
除非您希望针对域进行身份验证,在这种情况下,请参阅以下链接