I am adding a new area to an existing mvc 3 razor app as an admin area for managing some settings and content. The rest of the site is currently secured by a custom provider that authenticates our clients. Now I need to authenticate some employees to access the admin area, The client user data is in a totally different database and format than what I need for our employees.
Is this possible without a lot of headaches?
There is actually very little headache involved.
Simply add all the MembershipProviders you want in web.config:
<membership defaultProvider="MembershipProvider1"> <providers> <clear/> <add name="MembershipProvider1" type="MvcApplication.MembershipProvider1" /> <add name="MembershipProvider2" type="MvcApplication.MembershipProvider2" /> <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" /> </providers> </membership>
As you can see I have added two providers. I have also specified a default provider.
I can then switch between the two like this:
var membershipProvider1 = Membership.Providers["MembershipProvider1"]; membershipProvider1.ValidateUser("Mike", "banana"); var membershipProvider2 = Membership.Providers["MembershipProvider2"]; membershipProvider2.ValidateUser("Mike", "orange");
You probably want to wrap that into an application service or something, but you get the idea. Not so much headache, right?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With