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
- XamlRtfConverter.cs
- CorrelationService.cs
- ChannelParameterCollection.cs
- ProfilePropertyMetadata.cs
- RijndaelManagedTransform.cs
- UniqueIdentifierService.cs
- BrowserCapabilitiesCodeGenerator.cs
- QuadraticBezierSegment.cs
- RawStylusSystemGestureInputReport.cs
- RoutedEventHandlerInfo.cs
- SQLChars.cs
- ConstructorArgumentAttribute.cs
- TableLayoutPanelCellPosition.cs
- Variant.cs
- OpenTypeLayout.cs
- CommandDevice.cs
- PriorityQueue.cs
- WeakReferenceList.cs
- UInt32Converter.cs
- VisualProxy.cs
- MetadataCache.cs
- NamespaceEmitter.cs
- TemplateControl.cs
- MissingFieldException.cs
- MultipleViewPattern.cs
- Version.cs
- SharedUtils.cs
- ToolStripDropDown.cs
- SchemaManager.cs
- Int32Rect.cs
- ControlValuePropertyAttribute.cs
- MimePart.cs
- ToolStripProgressBar.cs
- XmlNotation.cs
- _PooledStream.cs
- WpfXamlMember.cs
- HandlerMappingMemo.cs
- HwndSource.cs
- ReservationCollection.cs
- RegisteredHiddenField.cs
- FormViewDeletedEventArgs.cs
- DropTarget.cs
- ClientSideQueueItem.cs
- _UriTypeConverter.cs
- ContentValidator.cs
- RegistrySecurity.cs
- ImageSource.cs
- DataGridViewCellStateChangedEventArgs.cs
- ObjectViewListener.cs
- Unit.cs
- MessageOperationFormatter.cs
- RandomNumberGenerator.cs
- SafeNativeMemoryHandle.cs
- KnowledgeBase.cs
- ComplexTypeEmitter.cs
- EdmItemError.cs
- KeyedCollection.cs
- RepeaterItemEventArgs.cs
- StateChangeEvent.cs
- SqlClientWrapperSmiStream.cs
- LockCookie.cs
- CorrelationKeyCalculator.cs
- X509CertificateRecipientClientCredential.cs
- HelpEvent.cs
- DataGridViewRowPostPaintEventArgs.cs
- ModuleBuilder.cs
- TextSearch.cs
- _ShellExpression.cs
- ServiceDeploymentInfo.cs
- WebPartEditorOkVerb.cs
- altserialization.cs
- HtmlControlPersistable.cs
- JsonReader.cs
- EventHandlerList.cs
- RegexCompiler.cs
- HtmlGenericControl.cs
- _Win32.cs
- FileSecurity.cs
- KeyValueInternalCollection.cs
- FontUnit.cs
- FrameworkReadOnlyPropertyMetadata.cs
- OperatorExpressions.cs
- UriParserTemplates.cs
- DrawingCollection.cs
- MetadataFile.cs
- GPStream.cs
- PerformanceCounter.cs
- XmlWrappingReader.cs
- LocalizationParserHooks.cs
- XmlNamespaceManager.cs
- RestHandlerFactory.cs
- elementinformation.cs
- HtmlLink.cs
- DbProviderSpecificTypePropertyAttribute.cs
- TabletCollection.cs
- Brush.cs
- MappingMetadataHelper.cs
- TraceListeners.cs
- MarshalByValueComponent.cs
- FormattedTextSymbols.cs