Been messing around with CommunityServer2007 in preperation to using it in our site and mostly spot on
Think there is a bug (or feature ) around the username bit...
So here's my setup:
CommunityServer2007 with SSO and all member/role/profile providers pointing to my TestMembersProviders.
A MembersProvider website that handles all logins/registrations and uses the same TestMembersProviders.
This all works with SSO. I register in my MembersProvider website and when I move to my CommunityServer2007 website i'm auto-registered.
However, when I change the username in my test provider all things break after I log in through my MembersProvider website and then move to my CommunityServer2007 website with error
"Cannot insert duplicate key row in object 'dbo.cs_Users' with unique index 'IX_cs_Users_MembershipID'.The statement has been terminated"
I can explain a bit to why this is happening.
The system first calls GetUser from the Users class which doesn't find a User... oh dear but we kind of expected that since the username its looking up has changed... So move on to method GetUserFromDataProvider where it looks up that user in the DB (using my TestMembersProviders).... It finds the user... Yippee!!!!.... But it now tries to insert that user into the cs_Users table.... noooooooo.... It'll try to insert a duplicate GUID as the primary key as this bloke already exists and it was just the fact his username changed...
Should the system have a look to see whether the GUID exists within the cs_Users table before trying to insert a new user? It could then determine that it's just a username change if the GUID already exists and do this for me?
Copyright© 2008 Telligent Systems Inc. All rights reserved CommunityServer.com • Telligent.com