asp.net-membership

___ answer13112648 ___

Ich hatte das gleiche Problem. Ich habe es gelöst, indem ich die korrekte Verbindungszeichenfolge in SimpleMembershipInitializer und UsersContext Klasse angegeben habe. Ich benutze ASP.NET MVC4

    
___ answer13930430 ___

Es könnte sein, dass Sie bereits bei @ localhost als jemand auf einer anderen Website angemeldet sind, die Sie entwickeln. Und Sie verwenden denselben Authentifizierungscookie (Standard ist .aspxauth). Wenn Sie also CreateOrUpdate aufrufen, versucht es, Ihrem bereits registrierten Profil einen weiteren Berechtigungsnachweis hinzuzufügen. Scheitert aber, weil es nicht in der Datenbank ist.

Um das Problem zu lösen, müssen Sie das Authentifizierungs-Cookie vom Browser löschen und erneut anmelden.

    
___ qstntxt ___

In dieser Zeile bekomme ich eine Ausnahme -

%Vor%

System.Web.Security.MembershipCreateUserException: Der angegebene Benutzername ist ungültig.

Die Daten, die in diese gehen, sind

  • Anbieter - "Facebook"
  • providerUserId - "1321311387573991"
  • model.UserName - "Max Payne"

Die Initialisierung funktioniert gut mit

%Vor%

Ich kann keine Beispiele finden, warum der Benutzername ungültig ist? Gibt es irgendwo ein Kriterium, das einen korrekten Benutzernamen definiert?

    
___ answer18194663 ___

Bei mir ist dieser Fehler in meiner Seed-Überschreibung aufgetreten. Wie nie zuvor angegeben, bezieht sich der nicht vorhandene Benutzername auf die UserProfile-Tabelle. Um es zu beheben, müssen Benutzer und Konto zuerst erstellt werden, bevor das OAuth erstellt wird.

Also, anstelle von meinem Seed überschreiben nur aufrufen:

%Vor%

ruft jetzt:

%Vor%

Hinweis: Das Null-Passwort bedeutet, dass sich der Benutzer nicht über ein Login-Formular anmelden kann, da das angegebene Passwort niemals null ist. Ich benutze nur OAuth, also ist es kein Problem für mich.

    
___ answer12852765 ___

Benutzername sollte auch keinen Platz wie "Max Payne"

haben     
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ answer15249499 ___

Laut MSDN ( Ссылка ) kann die Mitgliedschaftsklasse keine Benutzernamen mit einem Komma unterstützen oder null, Leerzeichen sind OK (wie auch nicht ASCII-Zeichen).

Die CreateUser-Methode gibt null zurück, wenn das Passwort eine leere Zeichenfolge oder null ist, Benutzername eine leere Zeichenfolge oder null ist oder ein Komma (,) enthält , passwordQuestion ist nicht null und ist ein leere Zeichenfolge oder passwordAnswer ist nicht null und enthält eine leere Zeichenfolge.

    
___ tag123aspnet ___ ASP.NET ist ein Framework zur Entwicklung von Microsoft-Webanwendungen, mit dem Programmierer dynamische Websites, Webanwendungen und Webdienste erstellen können. Es ist nützlich, dieses Tag in Verbindung mit dem Typ des Projekttyps zu verwenden, z. [asp.net-mvc], [asp.net-webforms] oder [asp.net-web-api]. Verwenden Sie dieses Tag NICHT für Fragen zu ASP.NET Core - verwenden Sie stattdessen [asp.net-core]. ___ qstnhdr ___ MembershipCreateUserException - Der angegebene Benutzername ist ungültig ___ answer12877459 ___

Ich suchte ähnlich nach einer Erklärung dafür. Ich bin mir nicht sicher, ob ich es vollständig verstehe, aber nach dem Experimentieren, Debuggen und Überwachen von Intellitrace-Ereignissen scheint CreateOrUpdateAccount einen Eintrag in der OAuthMembership-Tabelle mit nur Provider, ProviderUserId und UserId zu erstellen oder zu aktualisieren, was durch die Abfrage von [in meinem Fall bestimmt wird ] die UserProfile-Tabelle basierend auf diesem eindeutigen Benutzernamen. Wenn Sie CreateOrUpdateAccount mit einem anderen Anbieter und einer anderen Provider-Benutzer-ID aufrufen, aber denselben Benutzernamen verwenden, sind beide Anbieteranmeldungen mit demselben Benutzerkonto in Ihrer App verknüpft.

Ich musste ein UserProfile hinzufügen, bevor ich den entsprechenden OAuthMembership-Datensatz erstellen / aktualisieren konnte. In der VS-Vorlage sah es etwa so aus:

%Vor%     
___ tag123aspnetmvc4 ___ ASP.NET MVC 4 ist die vierte Hauptversion der ASP.NET Model-View-Controller-Plattform für Webanwendungen. ___ tag123dotnetopenauth ___ DotNetOpenAuth ist eine Open-Source-Bibliothek für OpenID 1.1 und 2.0, die OAuth 1.0, 1.1, 2.0 als Consumer- und Service-Provider unterstützt. ___ tag123aspnetmitgliedschaft ___ Die ASP.NET-Mitgliedschaft bietet Ihnen eine integrierte Möglichkeit zum Überprüfen und Speichern von Benutzeranmeldeinformationen. ___
3
Antworten

Asp.Net-Mitgliedschaftsanbieter in Entity Framework 4

Ich habe eine Website mit ASP.NET-Mitgliedschaft, Entity Framework 4 und MS SQL 2008 für DB. Ich würde gerne wissen, wenn ASP.NET-Mitgliedschaft die Interaktion mit der Datenbank wird mit Entity Framework? Danke für Ihre Hilfe!     
13.09.2010, 13:25
3
Antworten

Wie kann ich die ASP.Net MVC Login Redirect basierend auf der Rolle ändern?

Ich habe den folgenden Code, den ich in meinem MVC-Projekt in den Account Controller eingegeben habe, und ich bin sowohl in der Administrator- als auch in der Managerrolle. Wenn ich mich anmelde, werde ich zurück zu meinem Heim-Index weitergelei...
08.12.2009, 09:54
4
Antworten

SQL Server 2005 - Wie oft sollten Sie Indizes neu erstellen?

Ich habe kürzlich ein Projekt übernommen und sie haben einen SQL-Job-Setup, der alle drei Stunden ausgeführt wird und die Indizes neu erstellt, die in den ASP.NET Membership-Datenbanktabellen gefunden werden. Das scheint ziemlich hoch zu sein...
25.08.2009, 21:53
6
Antworten

MembershipCreateUserException - Der angegebene Benutzername ist ungültig

In dieser Zeile bekomme ich eine Ausnahme - %Vor% System.Web.Security.MembershipCreateUserException: Der angegebene Benutzername ist ungültig. Die Daten, die in diese gehen, sind Anbieter - "Facebook" providerUserId - "1321311387573...
12.10.2012, 02:42