Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Configuration / AuthenticationConfig.cs / 1305376 / AuthenticationConfig.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * AuthenticationConfigHandler class * * Copyright (c) 1999 Microsoft Corporation */ namespace System.Web.Configuration { using System.Runtime.Serialization; using System.Web.Util; using System.Collections; using System.IO; using System.Security.Principal; using System.Xml; using System.Security.Cryptography; using System.Configuration; using System.Globalization; using System.Web.Hosting; using System.Web.Compilation; static internal class AuthenticationConfig { private static AuthenticationMode? s_explicitMode; internal static AuthenticationMode Mode { get { if (s_explicitMode.HasValue) { return s_explicitMode.Value; } else { AuthenticationSection settings = RuntimeConfig.GetAppConfig().Authentication; settings.ValidateAuthenticationMode(); return settings.Mode; } } set { Debug.Assert(BuildManager.PreStartInitStage == PreStartInitStage.DuringPreStartInit); Debug.Assert(value == AuthenticationMode.Forms, "Only Forms mode can be set to override config"); s_explicitMode = value; } } internal static String GetCompleteLoginUrl(HttpContext context, String loginUrl) { if (String.IsNullOrEmpty(loginUrl)) { return String.Empty; } if (UrlPath.IsRelativeUrl(loginUrl)) { loginUrl = UrlPath.Combine(HttpRuntime.AppDomainAppVirtualPathString, loginUrl); } return loginUrl; } internal static bool AccessingLoginPage(HttpContext context, String loginUrl) { if (String.IsNullOrEmpty(loginUrl)) { return false; } loginUrl = GetCompleteLoginUrl(context, loginUrl); if (String.IsNullOrEmpty(loginUrl)) { return false; } // Ignore query string int iqs = loginUrl.IndexOf('?'); if (iqs >= 0) { loginUrl = loginUrl.Substring(0, iqs); } String requestPath = context.Request.Path; if (StringUtil.EqualsIgnoreCase(requestPath, loginUrl)) { return true; } // It could be that loginUrl in config was UrlEncoded (ASURT 98932) if (loginUrl.IndexOf('%') >= 0) { String decodedLoginUrl; // encoding is unknown try UTF-8 first, then request encoding decodedLoginUrl = HttpUtility.UrlDecode(loginUrl); if (StringUtil.EqualsIgnoreCase(requestPath, decodedLoginUrl)) { return true; } decodedLoginUrl = HttpUtility.UrlDecode(loginUrl, context.Request.ContentEncoding); if (StringUtil.EqualsIgnoreCase(requestPath, decodedLoginUrl)) { return true; } } return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * AuthenticationConfigHandler class * * Copyright (c) 1999 Microsoft Corporation */ namespace System.Web.Configuration { using System.Runtime.Serialization; using System.Web.Util; using System.Collections; using System.IO; using System.Security.Principal; using System.Xml; using System.Security.Cryptography; using System.Configuration; using System.Globalization; using System.Web.Hosting; using System.Web.Compilation; static internal class AuthenticationConfig { private static AuthenticationMode? s_explicitMode; internal static AuthenticationMode Mode { get { if (s_explicitMode.HasValue) { return s_explicitMode.Value; } else { AuthenticationSection settings = RuntimeConfig.GetAppConfig().Authentication; settings.ValidateAuthenticationMode(); return settings.Mode; } } set { Debug.Assert(BuildManager.PreStartInitStage == PreStartInitStage.DuringPreStartInit); Debug.Assert(value == AuthenticationMode.Forms, "Only Forms mode can be set to override config"); s_explicitMode = value; } } internal static String GetCompleteLoginUrl(HttpContext context, String loginUrl) { if (String.IsNullOrEmpty(loginUrl)) { return String.Empty; } if (UrlPath.IsRelativeUrl(loginUrl)) { loginUrl = UrlPath.Combine(HttpRuntime.AppDomainAppVirtualPathString, loginUrl); } return loginUrl; } internal static bool AccessingLoginPage(HttpContext context, String loginUrl) { if (String.IsNullOrEmpty(loginUrl)) { return false; } loginUrl = GetCompleteLoginUrl(context, loginUrl); if (String.IsNullOrEmpty(loginUrl)) { return false; } // Ignore query string int iqs = loginUrl.IndexOf('?'); if (iqs >= 0) { loginUrl = loginUrl.Substring(0, iqs); } String requestPath = context.Request.Path; if (StringUtil.EqualsIgnoreCase(requestPath, loginUrl)) { return true; } // It could be that loginUrl in config was UrlEncoded (ASURT 98932) if (loginUrl.IndexOf('%') >= 0) { String decodedLoginUrl; // encoding is unknown try UTF-8 first, then request encoding decodedLoginUrl = HttpUtility.UrlDecode(loginUrl); if (StringUtil.EqualsIgnoreCase(requestPath, decodedLoginUrl)) { return true; } decodedLoginUrl = HttpUtility.UrlDecode(loginUrl, context.Request.ContentEncoding); if (StringUtil.EqualsIgnoreCase(requestPath, decodedLoginUrl)) { return true; } } return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Nullable.cs
- CollectionViewSource.cs
- SynchronizationContext.cs
- XmlUnspecifiedAttribute.cs
- GridPattern.cs
- GeometryCombineModeValidation.cs
- DocumentPageViewAutomationPeer.cs
- autovalidator.cs
- HandlerBase.cs
- ControlPaint.cs
- SecurityException.cs
- ListViewItem.cs
- BridgeDataReader.cs
- MinimizableAttributeTypeConverter.cs
- Item.cs
- TableAutomationPeer.cs
- SmiEventStream.cs
- WindowsUpDown.cs
- XmlRootAttribute.cs
- ManipulationPivot.cs
- HwndAppCommandInputProvider.cs
- PairComparer.cs
- LabelAutomationPeer.cs
- MultilineStringConverter.cs
- Deflater.cs
- AudioBase.cs
- ContentPropertyAttribute.cs
- DataGridToolTip.cs
- StatusBar.cs
- DbConnectionClosed.cs
- TextRangeBase.cs
- _FtpDataStream.cs
- HybridDictionary.cs
- WindowsStatic.cs
- Models.cs
- PersonalizationProvider.cs
- BoolExpr.cs
- ProviderUtil.cs
- DaylightTime.cs
- WindowShowOrOpenTracker.cs
- StaticTextPointer.cs
- EdmFunctions.cs
- ClaimTypes.cs
- InitializerFacet.cs
- MessageSecurityException.cs
- Grid.cs
- TimeoutValidationAttribute.cs
- SetterBase.cs
- DiscriminatorMap.cs
- NetStream.cs
- UInt16Storage.cs
- ResourceKey.cs
- ItemCollection.cs
- TaskFormBase.cs
- ElementProxy.cs
- Padding.cs
- RayMeshGeometry3DHitTestResult.cs
- ScaleTransform3D.cs
- xmlformatgeneratorstatics.cs
- IndexedEnumerable.cs
- DesignerWebPartChrome.cs
- ArraySubsetEnumerator.cs
- TrackingQueryElement.cs
- PreviewPrintController.cs
- XmlSchemaComplexContentExtension.cs
- ExtendedPropertyCollection.cs
- ReverseInheritProperty.cs
- WebRequestModulesSection.cs
- DataGridViewCellCancelEventArgs.cs
- SymmetricSecurityProtocol.cs
- BaseCollection.cs
- EdmRelationshipRoleAttribute.cs
- EditorPartCollection.cs
- KeyConstraint.cs
- InternalBufferOverflowException.cs
- SingleQueryOperator.cs
- EnumMemberAttribute.cs
- Parsers.cs
- BamlBinaryReader.cs
- WmlImageAdapter.cs
- Expression.DebuggerProxy.cs
- XNodeValidator.cs
- sitestring.cs
- RijndaelManagedTransform.cs
- OutputCacheSettingsSection.cs
- OdbcDataReader.cs
- TextTreeInsertElementUndoUnit.cs
- WebPageTraceListener.cs
- XPathException.cs
- Ref.cs
- ZipQueryOperator.cs
- IncrementalReadDecoders.cs
- RoleManagerModule.cs
- StartUpEventArgs.cs
- SubstitutionResponseElement.cs
- ScrollEventArgs.cs
- AssociationSetMetadata.cs
- WebPartEditorOkVerb.cs
- Slider.cs
- HierarchicalDataTemplate.cs