asp.net 멤버십의 익명 사용자를 위해 aspnet_users.userid를 얻는 방법은 무엇입니까?

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

문제

ASPNET 멤버십을 얻으려고 노력하고 있습니다 UserId 익명 사용자의 필드.

web.config에서 익명 식별을 활성화했습니다.

<anonymousIdentification enabled="true" />

나는 또한 프로필을 만들었습니다.

<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>

나는 내 데이터를 본다 aspnetdb\aspnet_Users 프로필 정보 세트가있는 익명 사용자를위한 테이블.

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

'userID'값을 얻는 방법을 찾아야합니다.

사용할 수 없습니다.

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

request.anonymousID는 다른 지침이며 36139818-4245-45DD-99CB-2A721D43F9C5와 같지 않습니다.

이 userID를 얻는 방법이 있습니까? 익명 사용자를위한 불완전한 활동과 연관시키고 싶습니다. 기본 키 사용 aspnet_Users 내 자신의지도를 만들어야하는 것이 바람직합니다 (프로필에 할 수 있고 저장할 수 있음).

이것은 기본적으로 a입니다 이 질문의 속임수 그러나 질문은 실제로 대답하지 않았습니다.

도움이 되었습니까?

해결책

익명 사용자를 위해 userID를 얻을 수 있습니다.

문자열 userId = request.anonymousId

다른 팁

알았어 그래서 MemberShip.GetUser() 유형의 객체를 반환합니다 MembershipUser.

더 많은 테이블에 더 많이 탐구합니다 aspnetdb 데이터베이스 행이 생성 된 것 같습니다. aspnet_Users 모든 사용자 (익명 인 경우) - 사용자가 실제로 인증/등록하지 않는 한 ASPNET_Membership에서 행이 생성되지 않습니다.

그러나 익명의 사용자 프로필 (aspnet_users 테이블)은 UserName.

나는 여전히 액세스 방법을 찾지 못했습니다 UserId 익명 사용자의 속성 - 그러나 실제로 사용자 이름이 어쨌든 더 유용한 키라는 것을 깨달았습니다.

그만큼 UserId 필드가 있습니다 aspnet_Users 또한 독특한 userID 필드가 필요하다면 '매뉴얼'SQL 조회를 통해 얻을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top