private void ForceMemebershipProvider(IAuthenticationDataProvider authenticationDataProvider) { var objSqlMembershipProvider = new MembershipProviderWrapper(authenticationDataProvider); var colMembershipProviders = new MembershipProviderCollection { objSqlMembershipProvider }; colMembershipProviders.SetReadOnly(); const BindingFlags enuBindingFlags = BindingFlags.NonPublic | BindingFlags.Static; Type objMembershipType = typeof(Membership); // ReSharper disable PossibleNullReferenceException objMembershipType.GetField("s_Initialized", enuBindingFlags).SetValue(null, true); objMembershipType.GetField("s_InitializeException", enuBindingFlags).SetValue(null, null); objMembershipType.GetField("s_HashAlgorithmType", enuBindingFlags).SetValue(null, "SHA1"); objMembershipType.GetField("s_HashAlgorithmFromConfig", enuBindingFlags).SetValue(null, false); objMembershipType.GetField("s_UserIsOnlineTimeWindow", enuBindingFlags).SetValue(null, 15); objMembershipType.GetField("s_Provider", enuBindingFlags).SetValue(null, objSqlMembershipProvider); objMembershipType.GetField("s_Providers", enuBindingFlags).SetValue(null, colMembershipProviders); // ReSharper restore PossibleNullReferenceException }
public MembershipProviderWrapper(IAuthenticationDataProvider authenticationDataProvider) { _authenticationDataProvider = authenticationDataProvider; Initialize(authenticationDataProvider.GetType().Name,new NameValueCollection()); }