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
- WrapperEqualityComparer.cs
- Listbox.cs
- WinFormsSpinner.cs
- LinqDataSourceView.cs
- BaseValidator.cs
- AttributeCollection.cs
- BrowserCapabilitiesFactory.cs
- GridViewAutomationPeer.cs
- HiddenFieldDesigner.cs
- TextTreeDeleteContentUndoUnit.cs
- XmlQueryStaticData.cs
- DataBindingCollection.cs
- BamlBinaryWriter.cs
- VirtualPathUtility.cs
- PageTheme.cs
- OleAutBinder.cs
- DaylightTime.cs
- EllipseGeometry.cs
- CheckPair.cs
- CompilationRelaxations.cs
- COM2Enum.cs
- SqlProfileProvider.cs
- UndoManager.cs
- RuleElement.cs
- ResolveMatches11.cs
- AppDomainManager.cs
- QilTernary.cs
- ButtonBaseAdapter.cs
- PenThreadWorker.cs
- RsaSecurityKey.cs
- assertwrapper.cs
- DataGridTextBoxColumn.cs
- HtmlMeta.cs
- PropertyItemInternal.cs
- BinaryMessageFormatter.cs
- EntitySqlQueryState.cs
- ContentType.cs
- DateTimeValueSerializerContext.cs
- DataGridViewCheckBoxColumn.cs
- OracleConnectionStringBuilder.cs
- MergeLocalizationDirectives.cs
- UriExt.cs
- coordinatorfactory.cs
- SQlBooleanStorage.cs
- MemberMaps.cs
- BinaryObjectReader.cs
- DataGridItem.cs
- sortedlist.cs
- AmbientLight.cs
- WindowInteropHelper.cs
- XmlNamespaceDeclarationsAttribute.cs
- RouteItem.cs
- StateWorkerRequest.cs
- ExpandButtonVisibilityConverter.cs
- HTMLTextWriter.cs
- StoreItemCollection.cs
- XDRSchema.cs
- ServiceObjectContainer.cs
- DataGridViewLayoutData.cs
- ModifyActivitiesPropertyDescriptor.cs
- SizeLimitedCache.cs
- EntityParameter.cs
- TemplateContentLoader.cs
- ZoomPercentageConverter.cs
- _WinHttpWebProxyDataBuilder.cs
- TypeConverterMarkupExtension.cs
- ExceptionUtil.cs
- LinkArea.cs
- ParameterToken.cs
- ContentFileHelper.cs
- InvokeBinder.cs
- BamlCollectionHolder.cs
- PageAsyncTaskManager.cs
- OSEnvironmentHelper.cs
- SamlSubject.cs
- XmlAttributeOverrides.cs
- UnauthorizedAccessException.cs
- ObjectAnimationBase.cs
- SQLMoneyStorage.cs
- FormViewDeleteEventArgs.cs
- TextEffectResolver.cs
- DataGridComboBoxColumn.cs
- Point3DValueSerializer.cs
- _KerberosClient.cs
- MultiPageTextView.cs
- DataTableReader.cs
- HelpEvent.cs
- MergeFailedEvent.cs
- Delegate.cs
- SourceItem.cs
- CalendarDayButton.cs
- UiaCoreApi.cs
- Vector.cs
- VisualTransition.cs
- VersionedStreamOwner.cs
- LinkConverter.cs
- Rule.cs
- TableLayoutStyleCollection.cs
- DatasetMethodGenerator.cs
- StrokeNodeEnumerator.cs