Пример #1
0
		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());
		}