Wie aspnet_Users.UserId für einen anonymen Benutzer in ASP.NET-Mitgliedschaft zu bekommen?

StackOverflow https://stackoverflow.com/questions/1620102

Frage

Ich versuche, das aspnet Mitgliedschaft UserId Feld von einem anonymen Benutzer zu erhalten.

Ich habe aktiviert anonyme Identifizierung in web.config:

<anonymousIdentification enabled="true" />

Ich habe erstellt auch ein Profil:

<profile>

  <providers>
    <clear />
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
         connectionStringName="ApplicationServices" 
         applicationName="/" />
  </providers>

  <properties>
    <add name="Email" type="System.String" allowAnonymous="true"/>
    <add name="SomethingElse" type="System.Int32" allowAnonymous="true"/>
  </properties>

</profile>

Ich sehe Daten in meiner aspnetdb\aspnet_Users Tabelle für anonyme Benutzer, die Profilinformationen Set gehabt hat.

Userid                                  PropertyNames   PropertyValuesString     
36139818-4245-45dd-99cb-2a721d43f9c5    Email:S:0:17:   me@example.com

Ich muß nur finden, wie den ‚Benutzer-ID‘ Wert erhalten.

Es ist nicht möglich zu verwenden:

 Membership.Provider.GetUser(Request.AnonymousID, false); 

Die Request.AnonymousID ist eine andere GUID und nicht gleich 36139818-4245-45dd-99cb-2a721d43f9c5.

Gibt es eine Möglichkeit, diese User-ID zu bekommen. Ich will es mit unvollständiger Aktivität für einen anonymen Benutzer zugeordnet werden soll. den Primärschlüssel aspnet_Users zu verwenden ist vorzuziehen, die meine eigene GUID zu erstellen (was ich im Profil tun und speichern können).

Dies ist im Grunde ein Betrogene dieser Frage aber die Frage war nie wirklich beantwortet.

War es hilfreich?

Lösung

Sie können die Benutzer-ID für einen anonymen Benutzer dieser:

string userId = Request.AnonymousID

Andere Tipps

OK, so MemberShip.GetUser() gibt ein Objekt vom Typ MembershipUser.

mehr in die Tabellen in der aspnetdb Datenbank Delving es scheint, dass, obwohl eine Reihe in aspnet_Users für alle Benutzer erstellt wird (auch anonyme) -. Eine Zeile nicht in aspnet_Membership erstellt, es sei denn sollte der Benutzer tatsächlich authentifiziert / registriert

Aber ein anonymes Benutzerprofil (aspnet_Users Tabelle) ein GUID anstelle einem UserName gegeben wird.

Ich habe noch keinen Weg gefunden, die UserId Eigenschaft eines anonymen Benutzer zugreifen -. Aber ich habe erkannt, dass wirklich der Benutzername ist umso nützlicher Schlüssel sowieso

Das UserId Feld auch in aspnet_Users Tabelle vorhanden ist, so dass, wenn Sie wirklich das einzigartige Benutzer-ID-Feld benötigen, dann können Sie es mit einer ‚Handbuch‘ SQL-Suche erhalten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top