I need to replace the default DNN Membership / Profile and Role providers and do not know where to begin... So, I guess I should give you an idea of my plans or at least what it is that I need, and then ask for advice/help or a point in the direction where I can find information that will help me on my way.
The portal is being built as a web application for a single specific task: Multi-tenant Exchange / MS LCS server application hosting. I have no care about what / how things happen on the back end... I only provide the GUI through the portal to manage / configure everything.
Communication is via web service which provides me with all the data based on privilege levels after authentication. I have the web service provider functioning properly so that I can gather data with not much effort. However, in getting to this point in development, I have been bypassing DNN's authentication process. I now wish to spend some time and do the authentication correctly.
The web service provides me with:
- The authentication mechanism.
- All user data.
- much, much more, but I think that it is irrelevant to the task at hand.
The web service is a virtual datastore which aggregates and returns data (based on my privilege level) all data (user / customer / other) which could be stored through out many different datastore and types of datastores. i.e. LDAP / AD / SQL / FlatFile and many other types... This "virtual datastore" will provide everything I should need in order to map my user object to a UserInfo object or a Membership object or????
I need to accomplish:
- Authentication to the web service which should also be the DNN authentication.
- I am required to have no user information stored in the DNN database (this is sensitive data), I want no synchornization between user data in the web service and user data in DNN. Everything I need should come from the web service. There may be minor flexibility in this rule, but in general, any information about a user that is not stored within the web services virtual datastore is a no-no.
- Roles are static and will not be modifiable. The User to Role mapping will also be returned from the web service.
I think that this might be an issue since DNN looks to it's user / roles for whether or not it displays a page or module for a user. I might need some alternatives...
- Profiles - I am not sure how important this is as I do not know where all the profiles are used other then authentication and user management (which I already have custom modules for).
I do not intend on using DNN's default pages for user registration, user manipulation, user viewing, roles or user management of any kind...This is all custom written modules, and they work just dandily right now.
Is is even possible to seperate users from DNN completely?
I know that DNN requires an integer based ID for users, I can provide either an int based ID or a string GUID.
How do I handle roles?
How do I handle the profile?
So many questions, so little information that I can find...
I think the thing that makes this provider model stuff so difficult is the lack of end to end examples that arent mixed in with other things. And that are not centric to DNN, replacing a provider seems to be a complex task. With all of the information I am finding on DataProviders, MemberProviders and such, relating the info dump to DNN seems to be difficult for me to grasp.... A simple end to end example of replacing the providers would be very beneficial, even if it is the very basics of what is needed to accomplish this task. A list of the files needed to override / inherit / write for each provider... Simply how each file relates... A good write up on replacing the correct stuff in the web.config... I have scoured the asp.net forums and the forums here with some helpful information, but there is just so much I do not understand.
Any information would be greatly appreciated...
James