Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I am using SharePoint Server 2007 Enterprise with Windows Server 2008 Enterprise. I have deployed a publishing portal. It is using a custom forms authentication solution, i.e. I store user names, passwords, and user profile information in a custom (schema) SQL Server database. I am developing using VSTS 2008 + C# + .Net 3.5 + ASP.Net + SharePoint Server 2007 SDK.

I want to learn how to program an integration of the user profiles stored in the database into SharePoint user profile management (so that from SharePoint all users information can have a link for a user and then the profile data stored in my database could be displayed). Any feasible solution? I appreciate if some code samples could be referred.

BTW: I just care that the same profile values are displayed. There is no need to retrieve user profile data from my custom database, any other repository is ok.

share|improve this question
add comment

3 Answers

It isn't really possible to do what you describe - there is no "provider model" for the SharePoint profile store, meaning that the data has to be stored in SharePoint's profile store if you want to interact with it with SharePoint's profile API/management screens etc. Numerous features are predicated around this, such as the abilty to create custom profile fields (ish) and do audience targeting, and the current (2007) SharePoint architecture wouldn't be able to 'map' some of this functionality to a custom store.

That doesn't mean to say you can't use the ASP.Net profile store if you choose - it's just that:

  • you're on your own in terms of user interface
  • you need to (obviously) use the ASP.Net membership API instead of SharePoint profile API
  • you forego certain things like audience targeting

P.S. When 2007 was in beta I asked the feature owner for profiles (within the SharePoint Product Group) why the discrepancy between SharePoint/ASP.Net profile functionality. His answer was that it was just a lack of "join-up" between those 2 teams - slightly disappointing, but pretty inevitable when engineering a product as large as SharePoint..

share|improve this answer
    
1. "the data has to be stored in SharePoint's profile store" -- any recommended documents about how to use SharePoint's profile store? 2. Do you mean SharePoint user profile and ASP.Net user profile are totally two different concepts? 3. If I have user profile currently stored externally and wants to make SharePoint be able to use such user profiles, what is the expected solution? (BTW: I am using custom Forms authentication currently.) –  George2 Jan 24 '10 at 16:07
add comment

From your description its a bit fuzzy exactly what you need, but if you want external data integrated into your MOSS User Profiles, this can be done using Business Data Catalog as a secondary data source for your user profiles. Read more on this techique here.

There can be issues getting BDC working with FBA (BDC expects NTLM), but you should be able to work around this by extending the web application with another zone (see more details here)

hth Anders Rask

Futher reading: User Profile issue with FBA and SharePoint

share|improve this answer
    
Thanks! If I have user profile currently stored externally and wants to make SharePoint be able to use such user profiles, what is the expected solution? (BTW: I am using custom Forms authentication currently.) –  George2 Jan 24 '10 at 15:56
    
Did you read the links? Since BDC (Business Data Catalog) only can work as a secondary data source, for the integration of external DB to work, you need an AD as primary data source. Since you use FBA to log in, that would mean extending your webapp to a new zone running windows authentication. I havent tried this combination myself so you would have to experiment to see if it is possible to integrate your external DB this way. –  Anders Rask Jan 24 '10 at 19:37
add comment

There are some other solutions out there if you search on google, but if it were me, I would just use the bdc.

share|improve this answer
    
Any more details? What means bdc? –  George2 Jan 24 '10 at 15:53
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.