How to change .Net provider during runtime July 24, 2006
Posted by balajinjl in .NET 2.0, ASP.net 2.0.4 comments
On my recent project, I had a requirement to validate one set of users against one provider and second set of users against a different provider. The scenario was something like this. In the log-in screen user would select which state they are from. Based on this information, I need to either validate against SQL provider or Oracle provider. In my case SQL was default provider and I need to change Oracle provider during runtime for validating second set of users.
The following code shows how this can be done.
First include both the providers in web.config and designate one of them as defaultProvider.
<membership defaultProvider=”SQLProvider”>
<providers >
<clear/>
<add connectionStringName=”SQLConnectionString” name=”OracleProvider” type=”System.Web.Security.OracleMembershipProvider”/>
<add connectionStringName=”OracleConnectionString ” name=” SQLProvider” type=”System.Web.Security.SqlMembershipProvider”/>
</providers>
</membership>
Then in the code, we can access second provider via Provider collection on the Membership object.
Membership.Provider[“OracleProvider”].ValidateUser(“UserName”,”Password”);
This way we can swap between Oracle and SQL providers as required.
HTH,
-Balaji NJL