john doe
john doe

Reputation: 45

Implementing Custom Membership Provider Membership User Issues

I am trying to implement a custom membership provider and want to change the GetUser method. The problem is that GetUser returns MembershipUser and I want to return MyMembershipUser which has two additional properties FirstName and LastName. I can create a new method in my membership provider which returns MyMembershipUser but then I think it won't make any sense.

How would I go about doing this?

Upvotes: 4

Views: 975

Answers (3)

pelican_george
pelican_george

Reputation: 971

You should go for Profile Provider. check this link, you have either SqlStoredProcedureProfileProvider and SqlTableProfileProvider, this way you have ability to store Profile data “in the clear” in the database, letting you query the db whenever u want.

"you can implement whatever business logic you need in the stored procedures to map the Profile data to your own database schema and database logic."

Upvotes: 2

ChaosPandion
ChaosPandion

Reputation: 78302

That would defeat the purpose of the Membership classes. Do something like this if you need to access other properties:

var user = Membership.GetUser(userName, true) as MyMembershipUser;

Really you should have a separate Profile class that handles things that MembershipUser does not provide.

var profile = Profile.GetProfile(Membership.GetUser(userName, true));

Upvotes: 4

Daniel Renshaw
Daniel Renshaw

Reputation: 34197

If MembershipUser is the base class of MyMembershipUser then you can return instances of MyMembershipUser even though the return type of GetUser() is MembershipUser and then, if necessary, cast them back to MyMembershipUser (but do you really need to do that?)

BTW, this is an example of polymorphism.

Upvotes: 0

Related Questions