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
- PrtTicket_Public_Simple.cs
- SQLDoubleStorage.cs
- ListView.cs
- Invariant.cs
- UInt16.cs
- FileSystemInfo.cs
- SafeCryptoHandles.cs
- NamedServiceModelExtensionCollectionElement.cs
- AspCompat.cs
- StringUtil.cs
- MarkupCompiler.cs
- FunctionDescription.cs
- AttributeSetAction.cs
- TypeUnloadedException.cs
- DesignTimeTemplateParser.cs
- OneWayChannelListener.cs
- DiscoveryClientChannelFactory.cs
- LinqDataSourceDisposeEventArgs.cs
- xmlfixedPageInfo.cs
- PartitionedStream.cs
- UInt16Converter.cs
- BufferedGraphicsContext.cs
- Pick.cs
- DataKeyCollection.cs
- ClipboardProcessor.cs
- FileDialog_Vista_Interop.cs
- EntitySqlQueryCacheKey.cs
- SqlDataAdapter.cs
- MexBindingBindingCollectionElement.cs
- GridEntryCollection.cs
- FontStyleConverter.cs
- SQLDateTime.cs
- RandomNumberGenerator.cs
- XmlEntity.cs
- LineInfo.cs
- Header.cs
- ControlIdConverter.cs
- MemoryFailPoint.cs
- EventPropertyMap.cs
- DocumentEventArgs.cs
- SQLBinaryStorage.cs
- DynamicPropertyHolder.cs
- DataSourceProvider.cs
- AdPostCacheSubstitution.cs
- TreeIterators.cs
- EventHandlerList.cs
- FontDialog.cs
- AppDomainShutdownMonitor.cs
- RedBlackList.cs
- FileSystemInfo.cs
- DiscoveryDocumentSearchPattern.cs
- EmbeddedObject.cs
- SmtpMail.cs
- AvtEvent.cs
- SqlWriter.cs
- SchemaEntity.cs
- UntypedNullExpression.cs
- KeyTime.cs
- VisualTransition.cs
- ConstructorBuilder.cs
- ParameterCollectionEditorForm.cs
- PathSegmentCollection.cs
- JsonXmlDataContract.cs
- ColorConverter.cs
- EmptyCollection.cs
- LabelAutomationPeer.cs
- SelectionHighlightInfo.cs
- CriticalExceptions.cs
- RequiredAttributeAttribute.cs
- TypedElement.cs
- ThreadAbortException.cs
- ZipPackage.cs
- GridViewCommandEventArgs.cs
- SimpleNameService.cs
- CollectionContainer.cs
- MultidimensionalArrayItemReference.cs
- ServicePointManagerElement.cs
- EastAsianLunisolarCalendar.cs
- OdbcError.cs
- ADRoleFactory.cs
- XmlSiteMapProvider.cs
- webclient.cs
- Control.cs
- CodeGenHelper.cs
- PrimitiveDataContract.cs
- ResourcesChangeInfo.cs
- TextureBrush.cs
- SqlDataSourceCommandParser.cs
- StorageEntityContainerMapping.cs
- NameObjectCollectionBase.cs
- ErrorHandler.cs
- XDRSchema.cs
- LocatorPart.cs
- ParameterExpression.cs
- COSERVERINFO.cs
- ArithmeticLiteral.cs
- EventSinkHelperWriter.cs
- PartBasedPackageProperties.cs
- OrderedDictionary.cs
- AddInActivator.cs