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
- DataMemberConverter.cs
- PropertyValueUIItem.cs
- TemplateXamlParser.cs
- ApplicationProxyInternal.cs
- _Win32.cs
- Graphics.cs
- ByteKeyFrameCollection.cs
- GroupLabel.cs
- SqlMethods.cs
- ColorPalette.cs
- QuaternionAnimationUsingKeyFrames.cs
- XmlSignificantWhitespace.cs
- OleDbStruct.cs
- DocumentXmlWriter.cs
- Directory.cs
- HttpProfileBase.cs
- WebServiceMethodData.cs
- WorkflowInstanceExtensionProvider.cs
- VersionConverter.cs
- ResourcePermissionBaseEntry.cs
- RequestCachingSection.cs
- SoapAttributeOverrides.cs
- RowToFieldTransformer.cs
- UInt64.cs
- AttachedPropertyMethodSelector.cs
- IImplicitResourceProvider.cs
- SubpageParaClient.cs
- OperationInfoBase.cs
- ServiceDescriptionReflector.cs
- FilteredDataSetHelper.cs
- DtdParser.cs
- ExecutionEngineException.cs
- ArgumentsParser.cs
- ToolStripPanel.cs
- FastPropertyAccessor.cs
- StaticTextPointer.cs
- SafeNativeMethods.cs
- HandlerMappingMemo.cs
- ClientSettingsProvider.cs
- TreeNodeStyle.cs
- OleDbInfoMessageEvent.cs
- SqlProfileProvider.cs
- AnnotationHelper.cs
- LogConverter.cs
- BackgroundWorker.cs
- basemetadatamappingvisitor.cs
- AddInPipelineAttributes.cs
- GetPageCompletedEventArgs.cs
- Funcletizer.cs
- TextParagraphView.cs
- WindowsProgressbar.cs
- ButtonFieldBase.cs
- RightsController.cs
- SqlBuilder.cs
- WorkItem.cs
- CSharpCodeProvider.cs
- MonikerBuilder.cs
- NamespaceList.cs
- SizeConverter.cs
- AtomContentProperty.cs
- FixUp.cs
- ExpressionBuilderContext.cs
- HiddenFieldPageStatePersister.cs
- ListSortDescription.cs
- WorkItem.cs
- BinaryObjectInfo.cs
- Metafile.cs
- Domain.cs
- DeflateEmulationStream.cs
- ProvideValueServiceProvider.cs
- LocatorPartList.cs
- BitmapDecoder.cs
- WhitespaceRuleLookup.cs
- ApplicationFileParser.cs
- PostBackOptions.cs
- ToolStripPanelRow.cs
- IncrementalReadDecoders.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- SweepDirectionValidation.cs
- Message.cs
- ProtectedConfiguration.cs
- SqlBuffer.cs
- GenerateHelper.cs
- FunctionCommandText.cs
- Stylus.cs
- DependencyProperty.cs
- TreeBuilderXamlTranslator.cs
- SqlCaseSimplifier.cs
- ToolStripSettings.cs
- TiffBitmapDecoder.cs
- BitmapMetadataBlob.cs
- ApplicationServicesHostFactory.cs
- ReachPrintTicketSerializerAsync.cs
- ToolStripContentPanelDesigner.cs
- WebRequestModuleElementCollection.cs
- SafeArrayTypeMismatchException.cs
- WebPartConnectionCollection.cs
- AmbientProperties.cs
- Soap.cs
- UnsafeNativeMethods.cs