//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.Web.Security { using System; using System.Web.Configuration; // NOTE: This type exists solely for System.Web.ApplicationServices.dll which creates and calls // it dynamically using Reflection. DO NOT rename, or change the namespace of this class without // updating the associated code in ndp\fx\src\xsp\System\AppServices\Util\SystemWebProxy.cs. internal class MembershipAdapter : IMembershipAdapter { public MembershipAdapter() { } public MembershipProviderCollection Providers { get { return Membership.Providers; } } public int UserIsOnlineTimeWindow { get { return Membership.UserIsOnlineTimeWindow; } } public bool IsDecryptionKeyAutogenerated { get { return MachineKeySection.IsDecryptionKeyAutogenerated; } } public bool UsingCustomEncryption { get { return MachineKeySection.UsingCustomEncryption; } } public byte[] EncryptOrDecryptData(bool encrypt, byte[] buffer, bool useLegacyMode) { // DevDiv Bugs 137864: Use IVType.None for compatibility with stored passwords even after SP20 compat mode enabled. // This is the ONLY case IVType.None should be used. // We made changes to how encryption takes place in response to MSRC 10405. Membership needs to opt-out of // these changes (by setting signData to false) to preserve back-compat with existing databases. #pragma warning disable 618 // calling obsolete methods return MachineKeySection.EncryptOrDecryptData(encrypt, buffer, (byte[])null, 0, buffer.Length, false /* useValidationSymAlgo */, useLegacyMode, IVType.None, false /*Sign*/); #pragma warning restore 618 // calling obsolete methods } } }