Ahmed Atia
Ahmed Atia

Reputation: 17960

User Profile objects are empty, even user logged-in properly?

I use asp:Login control, user can login properly, but while checking user Profile information within LoggedIn event of Login control, all of the fields in the Profile objects are empty. Also, User.Identity.IsAuthenticated always returns false.

But, all of these issue solved while navigating to another page.

Why User.Identity.IsAuthenticated returns false, even user logged-in properly? And, is there any way to get user's profile information within LoggedIn event of Login control?

Upvotes: 0

Views: 1125

Answers (2)

Brian Mains
Brian Mains

Reputation: 50728

After logging in, the form must redirect to the next page to populate the User principal information (User property of page/context). So that is why it was mentioned to use the UserName of the control.

Can you wait until after the redirect? Do you need direct access? Login1.UserName should work; put a debugger there and make sure the value is populated.

You could also try: HttpContext.Current.Profile.GetProfile( ... )

Upvotes: 1

Slauma
Slauma

Reputation: 177133

In the LoggedIn event the User and Profile identities are not yet updated. Try instead this:

To access the user:

MembershipUser aUser = Membership.GetUser(Login1.UserName);
// work with aUser ...

To access the profile:

ProfileCommon aProfile = Profile.GetProfile(Login1.UserName);
// work with the member fields in aProfile ...

(Login1 is your Login control.)

Upvotes: 0

Related Questions