如何修改标准ASP.NET MVC登录页面以允许用户使用电子邮件地址或用户名登录?允许使用用户名或电子邮件地址登录
3
A
回答
4
+1闪耀的,看起来像它的工作,但我发现了一个更简单的方法。
在AccountModel.cs更改显示属性(文本框的登录页面上只是标签)
public class LogOnModel
{
[Required]
[Display(Name = "User name or Email Address")]
public string UserName { get; set; }
...
在AccountController.cs更改登录方法,看看用户名看起来像一个电子邮件地址,如果这样的话试图找到用户名从电子邮件地址。
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
if (ModelState.IsValid)
{
// Can login by username or email address
MembershipUser user = null;
string userName;
if (model.UserName.Contains("@"))
{
// Could change model.userName from email to username but this will change form values
// if login fails (wrong pwd) which will be confusing to users, so keep in sep username string
userName = Membership.GetUserNameByEmail(model.UserName);
if (!String.IsNullOrEmpty(userName))
{
user = Membership.GetUser(userName);
}
}
else
{
user = Membership.GetUser(model.UserName);
userName = model.UserName;
}
if (user != null && validateAndLogOnUser(userName, model.Password, model.RememberMe))
{
// Rest of standard login code here
1
我相信你需要公开供应商开始,然后根据你的需要进行调整。
我发现这个教程有助于揭露成员:
http://theintegrity.co.uk/2010/11/asp-net-mvc-2-custom-membership-provider-tutorial-part-1/
相关问题
- 1. CakePHP:允许使用用户名或电子邮件登录
- 2. 用用户名或电子邮件地址登录
- 3. 允许用户使用电子邮件或用户名(AspNet.Identity)登录
- 4. 用户名或电子邮件地址登录
- 5. 允许在Laravel 5.4中使用用户名或电子邮件登录
- 6. 登录名 - 用户名和电子邮件地址
- 7. 允许使用电子邮件地址登录,同时允许具有相同电子邮件地址的多个用户
- 8. 作为登录用户名的电子邮件地址 - PHP&Zend_Auth?
- 9. 用“+”号登录电子邮件地址
- 10. 配置authlogic使用“用户名”或“电子邮件”登录
- 11. 如何使用“用户名或电子邮件”登录设计?
- 12. 如何使用用户名或电子邮件ID登录
- 13. 登录在CakePHP的2.0版的电子邮件地址或用户名
- 14. 允许用户使用自己的用户名或电子邮件地址与设计
- 15. 允许电子邮件和用户名在django项目中登录
- 16. 当他确认电子邮件地址时登录用户
- 17. 从登录Facebook用户导入电子邮件地址?
- 18. Meteor - 显示登录用户的电子邮件地址
- 19. Outlook REST API - 获取登录用户的电子邮件地址
- 20. Facebook Android登录获取用户电子邮件地址
- 21. Cloudformation - 允许用户使用电子邮件地址或电话号码作为其“用户名”注册并登录的模板属性
- 22. 允许用户使用相同的电子邮件地址注册3
- 23. 允许用户发送电子邮件到许多不同的动态地址
- 24. 接受用户名或电子邮件与登录的Django allauth
- 25. 如何从oauth获取用户名或电子邮件地址?
- 26. 用作登录名或用户名的电子邮件地址的正确名称是什么?
- 27. Django:更改/允许用户的登录用户名也可以使用他/她的电子邮件
- 28. 更改用户名登录到电子邮件登录
- 29. 使用个人或工作或学校电子邮件地址登录到B2C
- 30. 使用电子邮件地址登录 - 成员资格API
什么方法是validateAndLogOnUser? – Diin