Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DelegateInArgument.cs
- ResponseBodyWriter.cs
- _IPv6Address.cs
- BridgeDataReader.cs
- CompilationRelaxations.cs
- MetadataSource.cs
- XmlCharacterData.cs
- TemplateBindingExtension.cs
- XsdBuildProvider.cs
- RtfControlWordInfo.cs
- DocumentViewerConstants.cs
- AssemblyName.cs
- ListControlDataBindingHandler.cs
- StrokeCollectionConverter.cs
- safex509handles.cs
- CodeSpit.cs
- UserPersonalizationStateInfo.cs
- DoubleCollectionValueSerializer.cs
- Int16KeyFrameCollection.cs
- PersonalizationDictionary.cs
- MostlySingletonList.cs
- Int32EqualityComparer.cs
- ToolStripButton.cs
- DefaultSection.cs
- ExpressionConverter.cs
- AnnotationDocumentPaginator.cs
- HttpListenerRequestTraceRecord.cs
- ClassImporter.cs
- COM2FontConverter.cs
- OracleCommand.cs
- TextSpan.cs
- TableCell.cs
- TextureBrush.cs
- PanelDesigner.cs
- BlurBitmapEffect.cs
- CapiNative.cs
- UIElement.cs
- FloaterBaseParagraph.cs
- DependencyPropertyHelper.cs
- MessageAction.cs
- SafeEventHandle.cs
- ToolBarPanel.cs
- EdmComplexPropertyAttribute.cs
- RegexCharClass.cs
- StronglyTypedResourceBuilder.cs
- WorkflowInstanceExtensionCollection.cs
- LinearGradientBrush.cs
- TabItemWrapperAutomationPeer.cs
- SHA256.cs
- SchemaCollectionPreprocessor.cs
- TemplateControl.cs
- IisTraceListener.cs
- SiteMapHierarchicalDataSourceView.cs
- UrlMappingsModule.cs
- AutomationElementCollection.cs
- MetaColumn.cs
- DynamicDiscoveryDocument.cs
- XmlReflectionMember.cs
- FixedNode.cs
- OuterGlowBitmapEffect.cs
- Transform3DGroup.cs
- OracleParameterBinding.cs
- SQLInt64.cs
- MsmqSecureHashAlgorithm.cs
- TypeUtil.cs
- ControlUtil.cs
- HttpApplication.cs
- ObjectDataSourceMethodEventArgs.cs
- SessionStateItemCollection.cs
- GrammarBuilderRuleRef.cs
- BitmapPalettes.cs
- SqlServices.cs
- SynchronizationValidator.cs
- ItemsPanelTemplate.cs
- DockingAttribute.cs
- RenderContext.cs
- XmlAttributeCache.cs
- XamlInt32CollectionSerializer.cs
- ScaleTransform.cs
- SinglePhaseEnlistment.cs
- LogStore.cs
- BitmapSource.cs
- AlgoModule.cs
- DataServiceHost.cs
- ExpressionVisitorHelpers.cs
- ViewPort3D.cs
- UserControl.cs
- Invariant.cs
- ForceCopyBuildProvider.cs
- AnnouncementEndpoint.cs
- _NetRes.cs
- GZipStream.cs
- StylusDownEventArgs.cs
- CodeCompileUnit.cs
- PopOutPanel.cs
- ping.cs
- FtpCachePolicyElement.cs
- CodeDelegateInvokeExpression.cs
- SizeAnimationUsingKeyFrames.cs
- UTF32Encoding.cs