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
- DataSourceSelectArguments.cs
- IssuedSecurityTokenParameters.cs
- DocumentPaginator.cs
- DataGridLinkButton.cs
- CalendarDay.cs
- SqlVisitor.cs
- XmlWrappingReader.cs
- GZipStream.cs
- CustomAttributeFormatException.cs
- TcpActivation.cs
- ToolStripItemClickedEventArgs.cs
- FolderBrowserDialog.cs
- AsynchronousChannel.cs
- Win32MouseDevice.cs
- BaseTreeIterator.cs
- PageContent.cs
- SqlMethodAttribute.cs
- LambdaCompiler.Statements.cs
- ExpressionVisitor.cs
- X509RecipientCertificateClientElement.cs
- WindowsImpersonationContext.cs
- SiteMapNode.cs
- InteropBitmapSource.cs
- CannotUnloadAppDomainException.cs
- XmlSiteMapProvider.cs
- BitmapInitialize.cs
- JulianCalendar.cs
- EntityDescriptor.cs
- WizardSideBarListControlItem.cs
- XmlQueryRuntime.cs
- CodePropertyReferenceExpression.cs
- EditorAttribute.cs
- IUnknownConstantAttribute.cs
- QueueProcessor.cs
- ToolBarTray.cs
- BamlRecordReader.cs
- WeakReadOnlyCollection.cs
- PageAsyncTaskManager.cs
- Freezable.cs
- RootAction.cs
- TextBlock.cs
- SimpleFieldTemplateUserControl.cs
- SchemaNotation.cs
- ScrollViewerAutomationPeer.cs
- ObjectDataSourceSelectingEventArgs.cs
- FunctionDetailsReader.cs
- CodeGroup.cs
- Style.cs
- DeclaredTypeValidator.cs
- CultureInfoConverter.cs
- MenuItem.cs
- shaperfactory.cs
- Schema.cs
- Mapping.cs
- BaseAddressElement.cs
- PlatformCulture.cs
- DynamicResourceExtensionConverter.cs
- GradientBrush.cs
- WebSysDefaultValueAttribute.cs
- BitmapEffectInput.cs
- OperatingSystem.cs
- Int64.cs
- DbProviderServices.cs
- DataGridViewRow.cs
- FacetDescriptionElement.cs
- MetadataItemEmitter.cs
- WebEvents.cs
- EdmFunction.cs
- QilLoop.cs
- TimeSpanConverter.cs
- DiscoveryRequestHandler.cs
- NativeCompoundFileAPIs.cs
- CompilationSection.cs
- DependencyPropertyDescriptor.cs
- MarkupObject.cs
- ImageMap.cs
- GridViewUpdateEventArgs.cs
- TextUtf8RawTextWriter.cs
- AlternateViewCollection.cs
- FileClassifier.cs
- DesignColumn.cs
- TabControlEvent.cs
- ApplicationActivator.cs
- PointAnimationUsingKeyFrames.cs
- SystemUdpStatistics.cs
- ToggleProviderWrapper.cs
- TcpTransportElement.cs
- XamlToRtfParser.cs
- FixedDocumentSequencePaginator.cs
- HtmlButton.cs
- AsyncPostBackTrigger.cs
- PathFigureCollection.cs
- ParsedAttributeCollection.cs
- ProfileInfo.cs
- XmlSchemaAppInfo.cs
- ContentPosition.cs
- ReferenceService.cs
- WebUtil.cs
- X509AsymmetricSecurityKey.cs
- CheckBoxBaseAdapter.cs