Zawsze, gdy tworzę nową aplikację z programem visual studio 2013 express dla sieci i korzystam z uwierzytelniania indywidualnych kont i klikam przycisk rejestru zauważam, że implementuje on "e-mail" zamiast "Nazwa użytkownika" i to samo w LoginViewModel, ponieważ używa adresu e-mail do logowania zamiast nazwy użytkownika. Jak mogę to zmienić, aby używać nazwy użytkownika zamiast domyślnego adresu e-mail bez problemów? Również chciałbym wiedzieć, jak przekonwertować domyślny "guid", który jest typem ciągu do "id" (typ całkowity).Użyj nazwy użytkownika zamiast adresu e-mail do tożsamości w Asp.net mvc5
Odpowiedz
Połączone pytanie w zaakceptowanej odpowiedzi opisuje, w jaki sposób używać adresu e-mail zamiast nazwy użytkownika, aby uzyskać nazwę użytkownika zamiast adresu e-mail, czego szukałem w Identity 2.0 w projekcie MVC.
W przypadku, gdy ktoś inny dostanie się tutaj z wyszukiwarki Google, w rzeczywistości jest to bardzo łatwe. Jeśli spojrzysz na akcję wpisu, to po prostu ustaw Nazwę użytkownika na Adres e-mail. Więc .........
Dodaj UserName do RegisterViewModel i dodaj go do widoku rejestru.
<div class="form-group">
@Html.LabelFor(m => m.UserName, new { @class = "col-md-2 control-label" })
<div class="col-md-10">
@Html.TextBoxFor(m => m.UserName, new { @class = "form-control", @placeholder = "Username or email" })
</div>
</div>
w Rejestrze post działania na AccountController ustawienia użytkownika lub nazwa_użytkownika ViewModel i e-mail do ViewModel E-mail.
var user = new ApplicationUser { UserName = model.UserName, Email = model.Email };
Nie chcę w żaden sposób korzystać z poczty e-mail. Czy mogę zarejestrować się bez podawania adresu e-mail? –
Nie wiem, czy adres e-mail jest obowiązkowy w modelu, ale jeśli nie, możesz usunąć cztery wiersze w widoku rejestracji dla adresu e-mail i zastąpić je kodem nazwy użytkownika wymienionym powyżej. Następnie możesz ustawić nowego ApplicationUser w następujący sposób w akcji post w swoim AccountController. var user = new NazwaUżytkownika {NazwaUżytkownika = model.UserName, Email = model.Email}; Jeśli adres e-mail jest obowiązkowy, ustaw wiadomość e-mail na string.empty – Hoody
Sprawdzanie poprawności string.Empty. Odpowiedź sasi kumara działa poprawnie. –
Aby e-mail jako non wyjątkowy:
Konfiguracja poniżej IdentityConfig
manager.UserValidator = new UserValidator<ApplicationUser>(manager)
{
AllowOnlyAlphanumericUserNames = false,
RequireUniqueEmail = false
};
To było najprostsze rozwiązanie dla mnie i pozbyłem się jednego problemu, który miałem po konwersji z MVC 4 na MVC 5. – Xipooo
- 1. Uzyskaj wszystkie nazwy ról w systemie ASP.NET MVC5 Identity
- 2. Wymyślanie uwierzytelniania za pomocą nazwy użytkownika zamiast adresu e-mail
- 3. Użyj adresu e-mail jako nazwy użytkownika w programie ASP.NET LogIn Control
- 4. Jak używać adresu e-mail zamiast nazwy użytkownika do uwierzytelniania użytkownika?
- 5. Routing trasy do nazwy użytkownika zamiast id
- 6. Dodaj użytkownika Imię i nazwisko do tożsamości ASP.NET 2?
- 7. Eskalacja uprawnień i przejmowanie sesji w tożsamości MVC5
- 8. Jak się wylogować użytkownika w OWIN ASP.NET MVC5
- 9. Authlogic email jako nazwa użytkownika
- 10. ASP.NET MVC5 - Utrzymanie Użytkownicy w Oracle Database
- 11. Praca w MVC 5 do weryfikacji tożsamości email
- 12. Pobieranie nazwy domeny zamiast adresu IP
- 13. Jak zmienić domyślne nazwy tabel tożsamości ASP.NET w .NET CORE?
- 14. Multiple & Cookie subdomenę w Tożsamości asp.net podstawowej
- 15. Ręczna zmiana nazwy użytkownika w członkostwie Asp.Net
- 16. Właściwości niestandardowe aplikacji użytkownika MVC5 ApplicationUser
- 17. Użyj nazwy użytkownika i hasła do połączenia ActiveMQ JMS
- 18. Uwierzytelnianie Symfony2/logowanie przy użyciu adresu e-mail zamiast nazwy użytkownika
- 19. Podszywanie tożsamości roszczeń ASP.NET do tożsamości systemu Windows
- 20. Sposób logowania przy użyciu nazwy użytkownika lub adresu e-mail
- 21. Jak wyłączyć użytkownika w tożsamości 2.0?
- 22. Dodawanie atrybutu nazwy do "Użytkownika" w Devise
- 23. Grails Spring Security użyj adresu e-mail, aby się zalogować
- 24. Zaloguj się przy użyciu nazwy użytkownika lub adresu e-mail
- 25. Używanie tożsamości ASP.Net w wielu aplikacjach WWW
- 26. Jak używać tożsamości ASP.NET bez bazy danych
- 27. Github pokazuje nazwę zamiast połączonej nazwy użytkownika w commitach
- 28. Jak korzystać z transakcji w tożsamości ASP.NET MVC 2?
- 29. R: Funkcje - Wyświetlanie nazwy środowiska zamiast adresu pamięci tego środowiska?
- 30. ASP.NET MVC Identity Email/Username with Special Characters
[tutaj] (http://www.asp.net/identity/overview/extensibility/ change-key-for-users-in-aspnet-identity) to bardzo dobry artykuł, który możesz śledzić, a dostaniesz odpowiedź. Zobacz także [pytanie] (http://stackoverflow.com/questions/19758575/asp-net-identity-use-email-instead-of-user-name) Możesz użyć swojej własnej klasy usermanager i użyć nazwy użytkownika zamiast e-maila . – Mairaj
Domyślnie kod używa wiadomości e-mail jako nazwy użytkownika. 'var user = new ApplicationUser {UserName = model.Email, Email = model.Email};'. Dodaj właściwość userName do RegisterViewModel i użyj go zamiast tego. – Lijo