如何修改標準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. 允許用戶同時使用userename或電子郵件登錄
- 3. 用用戶名或電子郵件地址登錄
- 4. 登錄用的用戶名或電子郵件地址在PHP
- 5. 允許用戶使用電子郵件或用戶名(AspNet.Identity)登錄
- 6. 用戶名或電子郵件地址登錄
- 7. 允許在Laravel 5.4中使用用戶名或電子郵件登錄
- 8. 登錄名 - 用戶名和電子郵件地址
- 9. 在codeigniter中使用電子郵件地址或用戶名登錄
- 10. 允許使用電子郵件地址登錄,同時允許具有相同電子郵件地址的多個用戶
- 11. 作爲登錄用戶名的電子郵件地址 - PHP&Zend_Auth?
- 12. 用「+」號登錄電子郵件地址
- 13. 使用用戶名或電子郵件使用codeigniter登錄
- 14. 如何使WebSecurity.Login使用用戶名或電子郵件登錄?
- 15. 如何使用ID或電子郵件地址登錄
- 16. 煤層。使用電子郵件或用戶名登錄
- 17. 使用用戶名或電子郵件設計登錄
- 18. Django Rest JWT登錄使用用戶名或電子郵件?
- 19. 使用SQLAlchemyAuthenticatorPlugin登錄電子郵件或用戶名
- 20. wordpress使用用戶名或電子郵件登錄頁面
- 21. 的Android解析登錄使用電子郵件或用戶名
- 22. 如何使用「用戶名或電子郵件」登錄設計?
- 23. 配置authlogic使用「用戶名」或「電子郵件」登錄
- 24. 如何使用用戶名或電子郵件ID登錄
- 25. 如何允許電子郵件以及用戶名登錄賬戶?
- 26. 登錄在CakePHP的2.0版的電子郵件地址或用戶名
- 27. 不允許用戶使用設備更改電子郵件地址使用Rails
- 28. 允許用戶使用自己的用戶名或電子郵件地址與設計
- 29. 如何使用StofDoctrineBundle登錄用戶名和電子郵件地址?
- 30. 在cakephp上使用電子郵件地址而不是用戶名登錄
什麼方法是validateAndLogOnUser? – Diin