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
- Int16AnimationUsingKeyFrames.cs
- NonBatchDirectoryCompiler.cs
- ActivationArguments.cs
- PartitionResolver.cs
- NullableBoolConverter.cs
- ProcessHostMapPath.cs
- ComNativeDescriptor.cs
- _CookieModule.cs
- ServiceDescriptionImporter.cs
- TimerEventSubscriptionCollection.cs
- CompletionProxy.cs
- WithStatement.cs
- Converter.cs
- GlobalProxySelection.cs
- ToolTipAutomationPeer.cs
- IteratorDescriptor.cs
- KeyValueInternalCollection.cs
- DoubleAnimationBase.cs
- GeneralTransform2DTo3DTo2D.cs
- NegotiationTokenAuthenticator.cs
- BamlMapTable.cs
- WebBaseEventKeyComparer.cs
- AssemblyUtil.cs
- DataGridViewHeaderCell.cs
- TypeConverterAttribute.cs
- DataPagerFieldCollection.cs
- Comparer.cs
- LocalFileSettingsProvider.cs
- DataList.cs
- ListControlBoundActionList.cs
- EntityDataSourceQueryBuilder.cs
- TimeZoneNotFoundException.cs
- SafeLibraryHandle.cs
- AggregateNode.cs
- CodeAssignStatement.cs
- ActiveDocumentEvent.cs
- AnnotationHelper.cs
- Dump.cs
- TripleDES.cs
- ObjectListCommandsPage.cs
- DataGrid.cs
- GeometryHitTestResult.cs
- ListItemConverter.cs
- UnsafeNativeMethods.cs
- DataControlFieldCollection.cs
- GlyphInfoList.cs
- CellPartitioner.cs
- SecurityUtils.cs
- ReferencedType.cs
- LifetimeServices.cs
- DiscreteKeyFrames.cs
- Graphics.cs
- ExternalDataExchangeService.cs
- HttpCookieCollection.cs
- DbConvert.cs
- CodeLabeledStatement.cs
- ACE.cs
- SmtpReplyReader.cs
- FillRuleValidation.cs
- DesignerMetadata.cs
- FragmentQueryProcessor.cs
- ToolStripTextBox.cs
- DataGridViewElement.cs
- UserMapPath.cs
- MultiByteCodec.cs
- BaseCollection.cs
- Roles.cs
- HwndPanningFeedback.cs
- ConnectionStringsExpressionBuilder.cs
- TimeoutValidationAttribute.cs
- CodeMemberMethod.cs
- PowerModeChangedEventArgs.cs
- HyperLinkStyle.cs
- XXXInfos.cs
- RuleSetDialog.cs
- ListViewDataItem.cs
- XmlSchemaInclude.cs
- CaseExpr.cs
- StoreItemCollection.Loader.cs
- DynamicPhysicalDiscoSearcher.cs
- LifetimeManager.cs
- StringCollection.cs
- xsdvalidator.cs
- X509InitiatorCertificateClientElement.cs
- XDRSchema.cs
- HeaderedItemsControl.cs
- ListControl.cs
- ProviderBase.cs
- TextRangeSerialization.cs
- TextTreeText.cs
- XmlValueConverter.cs
- SqlMetaData.cs
- FilterElement.cs
- BitmapEffectDrawingContextState.cs
- StreamSecurityUpgradeAcceptorAsyncResult.cs
- MenuScrollingVisibilityConverter.cs
- EventProviderWriter.cs
- PublisherMembershipCondition.cs
- CodeArrayCreateExpression.cs
- GridViewCellAutomationPeer.cs